私が知る限り、Linuxには「高速割り込み」があります。つまり、SA_INTERRUPTフラグで要求された高速割り込みは、現在のCPUで他のすべての割り込みが無効になっている状態で実行されます。しかし、一般的な割り込みハンドラの動作とどのように(そしてどこで)違いますか?
ベストアンサー1
今日から基本的にflagについては忘れてもいいですSA_INTERRUPT
。
〜サイ2.6.182.6.24新しいフラグへの移行アシスタントですIRQF_DISABLED
。
2.6.24 すべてのSA_*
フラグを削除し、次に置き換えました。IRQF_*
バナー。
2.6.35 この「new」フラグを次のように表示します。廃止。
2.6.18以前のカーネルを使用している場合は、おそらく使用しないでしょう(Justinの答えを参照)。
IRQF_DISABLE
今日では、さまざまなアーキテクチャが異なって使用されています。 x86は依然として時間が重要な機能(time.c
、hpet.c
)、およびいくつかの操作にのみ使用しますxen
。
違いは、通常の割り込みは他の割り込み(プリエンプション)によって中断される可能性がありますが、「高速」割り込みは不可能であることです。