5

どのよう /proc/interruptsに最新の状態になっているのか知りたいですか?

プローブされたドライバーのみirqが含まれているのですか、それともシステムで可能なすべてのリストが含まれているのirqsですか?

4

2 に答える 2

8

カーネルのソースでわかるように、システムのすべての可能な irq が表示されます。source/fs/proc/interrupts.c:39
では、システム内に存在する割り込みと同じ数の要素を返すようにシーケンス操作が初期化されています。/proc/interrupts

source/kernel/irq/proc.c:479では、すべての割り込みのカウンターが を介してグローバル カウンターから抽出されることがわかりますkstat_irqs_cpu(irq, cpu)
これは、割り込みカウント情報が、CPU ごとに 1 つずつ、異なるカウンターで更新されることを意味します。カウンターは、proc ファイルの読み取り時に合計されます。これは、カーネルの一般的なパターンです。これにより、グローバル カウンターでの競合が防止されます。

CPU ごとの変数の詳細については、こちらを参照してください。Linux での割り込みの詳細については、こちらを参照してください

于 2013-03-05T10:20:48.323 に答える
5

/ procの下のすべてのファイルは疑似ファイルです。つまり、実際のデータは存在しません。

proc fsでファイルにアクセスすると、その特定のprocファイルにリンクされたprocメソッドが呼び出され、procメソッドが特定の関連するカーネルデータ構造にアクセスしてデータを動的に生成します。このデータは読み取りと表示が可能です。procファイルのデータは、通常、システムのステータス情報やデバイスドライバの状態を表示するために使用されます。

proc fsは通常、ドライバーコードにprocとseq fsレイヤーを追加することにより、ドライバーの一部として実装されますが、procはカーネルによっても使用され、システムの一般的なステータス情報を表示します。 procファイル間の階層または分類。新しいsysfsファイルシステムと比較して使用されることはめったにありません。

情報がどのように生成されるかを知るには、で実装されているprocレイヤーを調べる必要があります。fs/proc/interrupts.c

このウェブサイトはそれらの方法のいくつかを簡単に説明しています。

于 2013-03-05T10:44:22.723 に答える