問題タブ [linux-kernel]

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 投票する
1 に答える
121 参照

linux-kernel - 実行制御パスの区別

Linux カーネルのさまざまな実行パスを区別して、dmesg の ID を grep して特定のスレッドを監視できるようにしたいと考えています。

  1. task_struct->pid は、すべての実行スレッド (ユーザー プロセスの代わりに実行されるカーネル スレッド、プロセス コンテキストを持つがユーザー プロセスの代わりに実行しない通常のカーネル スレッド (ワーク キューなど)、プロセス コンテキストのないカーネル スレッドなど) を区別するのに十分ですか? ISR、ソフト IRQ、タスクレットなど))?

  2. 頻繁に更新されるユーザー空間の出力ファイルを監視している場合、「tail -f output.txt」などを使用して監視できます。カーネルログメッセージに対して同じことができる方法はありますか?

0 投票する
2 に答える
7513 参照

linux-kernel - カーネルの KMS(カーネルモード設定) API とは?

カーネルの KMS(カーネルモード設定) API とは?

0 投票する
2 に答える
13691 参照

linux - nanosleepの高いCPU使用率?

nanosleepを呼び出す小さなテストプログラムが、2.6.22より新しいカーネルを搭載したLinuxマシンで実行すると、CPU使用率に大きな違いが見られることに気づきました。

(はい、私はこのプログラムが何もしないことを理解しています)

これをコンパイルしてopenSUSE10.3マシン(2.6.22.19-0.2-デフォルト)で実行すると、プログラムは「top」によって生成されたプロセスリストにも表示されず、CPU時間をほとんど使用していないことがわかります。 。openSUSE 11.1マシン(2.6.27.23-0.1-デフォルト)で実行すると、topはCPU時間の40%を費やしているプログラムを示しています。Fedora 9(2.6.25-14.fc9.i686)とFedora 10で実行すると、「トップ」でも同じ高いCPU使用率が示されました。

これに影響を与えるカーネルの変更はありましたか?

0 投票する
3 に答える
2193 参照

linux-kernel - insmod カーネル HID モジュールを追加

隠しモジュールにいくつかの変更を加えました。

私はそれを作成し、カーネル v 2.6.27.14 で正常にロード (insmod) できます

今、カーネル v 2.6.27.11 に同じカーネル モジュールをロードします。

両方のカーネル バージョンの kerbel ソース ファイルに違いはないため、

成功することはできますが、この .11 カーネル バージョンでは /insmod を追加できません。

**

**

よろしく、

0 投票する
5 に答える
518 参照

linux-kernel - このカーネル関数を読みやすくすることはできますか? (学術研究に必要なアイデア!)

非常に長い関数の背後にある理論的根拠に関する以前の質問に続いて、私が研究のために研究しているコードについて具体的な質問を提示したいと思います。これは Linux カーネルの関数で、かなり長く (412 行) 複雑です ( MCC インデックスは 133)。基本的に、これは長くネストされた switch ステートメントです。

率直に言って、この混乱を改善する方法は思いつきません。ディスパッチ テーブルは巨大で効率が悪いように見えます。また、サブルーチン呼び出しには、十分な大きさのコード セグメントをカバーするために、想像を絶する数の引数が必要になります。

効率を落とさずに、この関数をより読みやすい方法で書き直す方法はありますか? そうでない場合、コードは読みやすいと思いますか?

言うまでもなく、私の研究に現れるどんな答えも、ここと提出された論文の両方で、完全なクレジットが与えられます.

オンライン ソース ブラウザーでの関数へのリンク

0 投票する
3 に答える
920 参照

filesystems - procfs を使用する Linux カーネル コード: 何に注意する必要がありますか?

カーネル パッチに関する非常に優れたアイデアがあります。アイデアを具体化する前に、いくつかの調査を行い、コード例を確認したいと考えています。

/procprocfs (Linuxファイル システム)の高度な使用法を示す興味深いコード例を探しています。興味深いとは、文書化された値を読むだけではありません。


私の考えは、すべてのプロセスに簡単なブロードキャスト メカニズムを提供することです。たとえば、 の複数のインスタンスを実行rsyncし、各子の転送ステータス (これまでに転送されたバイト数) を確認するプロセスを考えてみましょう。現在、私はそれを行うことができる方法を知りません。

にデータを書き込むための最小限のインターフェイスをプロセスに提供するつもりprocfsです。そのデータは、PID ディレクトリの下に配置されます。例えば:

主に並行性の分野で、これには多くの利点があると思います。

ところで、そのようなメカニズムがすでに存在する場合は、教えてください...

0 投票する
3 に答える
2523 参照

networking - Linux カーネルでのパケット作成のチュートリアル

私は、Linuxカーネルを介してアプリケーション層からネットワークに至るまでのデータの移動を、カーネルを介して詳細に理解しようとしています。開始するのに適した場所または優れたチュートリアルを知っている人はいますか?

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

c - Linux カーネル モジュールで timer_list を使用するとシステムがクラッシュする

動的タイマーを使用するカーネル (2.6.28) モジュールを作成しています。次のように timer_list 構造を使用しています。

これは、タイマーが切れるまで約 2 秒間問題なく動作します。その後、システムがクラッシュします。私も同じ結果でこのようなことを試しました:

どんな助けでも大歓迎です!

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

linux - Linux カーネル モードからプロセスのアフィニティを設定する方法は?

カーネルモジュールでプロセスのCPUアフィニティを設定するにはどうすればよいですか? ユーザーモードには syscall がありますがsched_setaffinity、同等のカーネルモードを探しています。

Linux カーネル コードには、 という関数もありますsched_setaffinitysys_sched_setaffinityによって呼び出される関数から呼び出されsystem_callます。どうやら、これは私が使いたい機能です。システムコールと同じ名前なのがちょっと不安なんですけどね。

しかし、誰もが知っているように、最善の方法は試してみることです。それで私はそうしました、そして私のモジュールはコンパイルされました。ただし、モジュールをロードしようとすると、名前sched_setaffinityが未定義であると不平を言います。

0 投票する
4 に答える
21144 参照

linux - リエントラントカーネルとは

リエントラントカーネルとは?