カスタマイズされたプリントオンスクリーンシステムを使用するカーネルモジュールを作成しています。基本的にprint
が関わるたびに、文字列がリンクリストに挿入されます。 X秒ごとリストを処理してから、文字列を印刷してから印刷する必要があります。フィルタの一方の端部にそれ自体を再起動カーネルスレッドとタイマー
1)タイマ()
X秒間スリープ2)カーネルスレッド
:
は、基本的に私は、このようなフィルタを実装するための2つの選択肢があり他のものはリンクされたリストを使用することはできません。もちろん、フィルタ関数が待機する文字列を挿入しています。
AFAIKタイマーは割り込みコンテキストで動作するためスリープできませんが、カーネルスレッドはどうですか?彼らは眠れますか?はいの場合は、私のプロジェクトでそれらを使用しない理由がありますか?他にどのような解決方法が使えますか?
は、要約すると:私のフィルタ機能は、わずか3要件を持っている:1)までブロックしなければならないリストにアクセスしようとしている他のリストのすべてを使用する場合printk
2)することができなければなりませんフィルタ機能はprint
私たびに)実行
3を終了し、すべてのX秒(ないリアルタイムの要件を実行する必要があります)
+1私にユーザー空間のソリューションを使用する考えを与える – Emiliano