/proc/interruptsについてMISとERRは何ですか?

/proc/interruptsについてMISとERRは何ですか?

/ proc / interruptsを見ると、下の出力ではそれぞれ26行と27行にERRとMISが表示されます。これらは何ですか? CPU0(0にもかかわらず)の数はありますが、他の数と説明がないのはなぜですか?実際にPIC自体のエラーに関連していると思いますか?

答えを送ってくれたErikFに感謝します。これらの割り込みがCPU0にのみ現れるのはなぜですか? PIC/割り込みシステムに問題が発生した場合、そのCPUだけが割り込みを受けるからですか?

    1.  username@domain:/proc$ cat interrupts  
    2.             CPU0       CPU1       CPU2       CPU3       CPU4       CPU5       CPU6       CPU7  
    3.    0:    1221738          0          0          0          0          0          0          0   IO-APIC   2-edge      timer  
    4.    1:          9          0          0          0          0          0          0          0   IO-APIC   1-edge      i8042  
    5.    6:          3          0          0          0          0          0          0          0   IO-APIC   6-edge      floppy  
    6.    8:          0          0          0          0          0          0          0          0   IO-APIC   8-edge      rtc0  
    7.    9:          0          0          0          0          0          0          0          0   IO-APIC   9-fasteoi   acpi  
    8.   12:        169          0          0          0          0          0          0          0   IO-APIC  12-edge      i8042  
    9.   14:          0          0          0          0          0          0          0          0   IO-APIC  14-edge      ata_piix  
    10.  15:         96      65508          0          0          0          0          0          0   IO-APIC  15-edge      ata_piix  
    11. NMI:          0          0          0          0          0          0          0          0   Non-maskable interrupts  
    12. LOC:        402        123        273         78        134        110        118        110   Local timer interrupts  
    13. SPU:          0          0          0          0          0          0          0          0   Spurious interrupts  
    14. PMI:          0          0          0          0          0          0          0          0   Performance monitoring interrupts  
    15. IWI:         95         83         81         94         90         97         86         76   IRQ work interrupts  
    16. RTR:          0          0          0          0          0          0          0          0   APIC ICR read retries  
    17. RES:    2769117    3625540    1918695    3115064    2249434    2089381    1783180    2173439   Rescheduling interrupts  
    18. CAL:       3468      22419      21729      15320      20704      31602      15100      18188   Function call interrupts  
    19. TLB:      11579      12003      12034      10741      10855      11647       9593      11018   TLB shootdowns  
    20. TRM:          0          0          0          0          0          0          0          0   Thermal event interrupts  
    21. THR:          0          0          0          0          0          0          0          0   Threshold APIC interrupts  
    22. DFR:          0          0          0          0          0          0          0          0   Deferred Error APIC interrupts  
    23. MCE:          0          0          0          0          0          0          0          0   Machine check exceptions  
    24. MCP:        224        224        224        224        224        224        224        224   Machine check polls  
    25. HYP:    2620495    2791215   12310023    2806541    2615199    1920111    2463082    2627540   Hypervisor callback interrupts  
    26. ERR:          0  
    27. MIS:          0  
    28. PIN:          0          0          0          0          0          0          0          0   Posted-interrupt notification event  
    29. PIW:          0          0          0          0          0          0          0          0   Posted-interrupt wakeup event  

ベストアンサー1

あなたは正しいです。 IO-APICシステムに関連しています。ERRカーネル文書に文書化されている存在するDocumentation/filesystems/proc(677-680行):

ERRIO-APICバス(SMPシステムからCPUに接続されたバス)にエラーがある場合に増加します。これはエラーが検出され、IO-APICが自動的に転送を再試行したことを意味するため、大きな問題ではありませんが、SMP-FAQを読む必要があります。

AFAICTハードウェアの問題がない限り、この内容は表示しないでください。文書に示されているように、このようなことが頻繁に発生するかどうかに注意を払って調査する必要があります。

MIS文書には出てこないけど2005年Gentooフォーラムニュースそれについて話してください。現在のarch/x86/apic/io_apic.c(ライン1797-1806)には、次の説明があります。

少なくともI / O APICバージョン0x11(82093AAやさまざまなチップセットに統合されたコア)に影響を与える正誤表があるようです。場合によっては、レベルトリガ割り込みは誤ってエッジトリガ割り込みに渡されますが、対応するIRRビットはまだ設定されます。その結果、I / OデバイスはEOIメッセージを期待しますが、決して到着せず、ソースからの追加の割り込みがブロックされます。正確な原因は現在知られていませんが、この現象は、特定のソースからの2回の連続した割り込み要求が同じCPUに渡され、中間ソースが一時的に無効になったときに観察されます。

この注釈(およびコード)は10年以上(カーネルの再構成を除く)大幅に変更されていないため、これが今日どのように関連しているかはわかりませんが、かなりマイナーで奇妙なハードウェアの問題を防ぎます。

私が見ているファイルは、カーネルバージョン4.15.10からインポートされたものです。ソースは異なる場合があります。

おすすめ記事