web-dev-qa-db-ja.com

Linuxの/ proc / interruptsと/ proc / softirqの違いは何ですか?

_/proc/softirq_はsoftirq統計です。 _/proc/interrupt_はハード割り込みとソフト割り込みの両方ですか、それともハードのみですか?

ハードウェア割り込みの増加率とソフトウェア割り込みの増加率を比較できるように、_watch -n 1 grep 'foo' /proc/softirq_と_watch -n 1 grep 'bar' /proc/interrupt_を使用してハードおよびソフトIRQの1秒あたりのレートを大まかに測定したいと思います。

_/proc/softirq_から_/proc/interrupt_カウントを差し引いてハードウェアIRQの数を取得する必要があるのは、両方の種類をカウントするためか、または_/proc/interrupt_がハードウェアのみかどうかを知りたいですか?

3
jwbensley

softirqはハードウェア割り込みに直接関係するものではなく、「下半分」の後継であり、タスクレットの前身です。 (古い) Linuxカーネルをハッキングするための信頼できないガイド には、このトピックに関する簡単なセクションがあります。他にもっと良いリソースがあると思います。 softirqのリストは include/linux/interrupt.h ;で定義されています。単一のハードウェア割り込みに対応していないことがわかります。

したがって、/proc/softirqから/proc/interruptsカウントを減算しないでください。後者はハードウェア割り込みのみをカウントします。これらはもちろん、softirqも使用される可能性がありますが、相関関係を簡単に決定する方法はありません(egネットワークアダプタのハードウェア割り込みとNET_RXまたはNET_TX softirqsの間)。 。

3
Stephen Kitt