問題タブ [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.

0 投票する
0 に答える
259 参照

linux-kernel - open システム コールを ftrace しようとしましたが、トレース レコードはすべて Sys_read に関するものです。

このコードを使用して open システム コールをトレースしようとしました。

そして、私はそれをコンパイルしました

そして、Ftrace を開始しました。

そして、私が得たのcat traceSyS_read..に関連するものは何もありませんSyS_open..

(以下のように cat set_graph_function で確認します:

SyS_open漏れがないことを確認してください。)

SyS_readでコードを書いているのになぜしかないのopen()ですか?

キャッシュを削除しようとして、もう一度やり直しましたが、結果はまったく同じでした。

またSyS_read、使用したのはopen().

0 投票する
1 に答える
126 参照

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 で行われます