問題タブ [ftrace]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
linux-kernel - open システム コールを ftrace しようとしましたが、トレース レコードはすべて Sys_read に関するものです。
このコードを使用して open システム コールをトレースしようとしました。
そして、私はそれをコンパイルしました
そして、Ftrace を開始しました。
そして、私が得たのcat trace
はSyS_read
..に関連するものは何もありませんSyS_open
..
(以下のように cat set_graph_function で確認します:
SyS_open
漏れがないことを確認してください。)
SyS_read
でコードを書いているのになぜしかないのopen()
ですか?
キャッシュを削除しようとして、もう一度やり直しましたが、結果はまったく同じでした。
またSyS_read
、使用したのはopen()
.
linux - splice(2) は、ftrace raw ファイルから読み取るときに「無効な引数」を返します
trace-cmd がオフ ftrace の raw ファイルをゼロ コピーするために使用する splice syscall を試してみたかったのです。
以下は、splice が読み取りに失敗する ftrace raw ファイルの部分的なリストです。
/sys/kernel/debug/tracing/per_cpu/cpo0/trace_pipe_raw
/sys/kernel/debug/tracing/per_cpu/cpo0/snapshot_raw
/sys/kernel/debug/tracing/per_cpu/cpo1/trace_pipe_raw
/sys/kernel/debug/tracing/per_cpu/cpo1/snapshot_raw
そして、ここにいくつかの他のファイルがあります(スプライスは問題なく処理します):
/sys/kernel/debug/tracing/per_cpu/cpo0/trace_pipe
/sys/カーネル/デバッグ/トレース/per_cpu/cpo0/スナップショット
/sys/kernel/debug/tracing/per_cpu/cpo1/trace_pipe
/sys/カーネル/デバッグ/トレース/per_cpu/cpo1/スナップショット
機能するもの:
- read() システム コールを使用すると、生の ftrace ファイルから読み取ることができます。
- cat() システム コールを使用すると、生の ftrace ファイルが表示されます。
- ftrace の CLI フロントエンドである trace-cmd ツールを使用します。
これは私のコードです:
ノート:
/sys/kernel/debug/tracing へのすべてのアクセスは sudo で行われます