/ 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行):
ERR
IO-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からインポートされたものです。ソースは異なる場合があります。