問題タブ [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 - 「echo 0 > /proc/sys/kernel/ftrace_enabled」を実行した後、kprobe モジュールが機能しない
ftrace について少し調べてみてください。
2 つのホスト間で TCP エコー プログラムが実行されています。
big switch( echo 0 > /proc/sys/kernel/ftrace_enabled
) をシャットダウンすると、自分の kprobe モジュールも機能しなくなります。カーネル ログ ファイルに printk メッセージが表示されません。また、pkt の変更操作が失敗し、pkt を正常に受信できます。それは本当に私をとても混乱させました。
私のテスト kprobe モジュールは次のとおりです。
ubuntu - ftrace による空のメモリ使用?
ftrace はメモリを使用してトレース レコードを保持します。新しいトレースを開始する前に、ftrace を空にする必要があるため、古いトレースがまだメモリに保持されています。これはどのように行うことができますか?
linux - Linux 関数プロファイラーの出力
ボトルネックがどこにあるかを理解するために、カーネルのコード フローをプロファイリングしたいと考えています。関数プロファイラーがまさにそれを行っていることがわかりました: https://lwn.net/Articles/370423/ 残念ながら、表示される出力は意味がありません。上記のリンクから、関数プロファイラーの出力は次のようになります。
「時間」は、実行中にこの関数内で費やした合計時間です。したがって、function_B を呼び出す function_A がある場合、出力を正しく理解していれば、function_A について測定された「時間」には function_B の期間も含まれます。
実際にこれを自分の PC で実行すると、出力用に別の新しい列が表示されます。
s^2 は何の略ですか? 平均よりも高いので、標準偏差とは言えません...
ユーザー空間からこのコード フローの合計時間を測定したところ、400 ミリ秒でした。s^2 列を合計すると、400 ミリ秒近くになりました。おそらく__do_page_faultで費やされた「純粋な」時間であり、ネストされた関数の期間は含まれていないと思います。
これは正しいです?s^2 列のドキュメントが見つからなかったので、結論については躊躇しています。
ありがとうございました!