Ciao a tutti, oggi si e' presentato questo errore
kernel:Disabling IRQ #16
in uno dei server centos 5.7 2.6.18-238.19.1.el5xen, scavando ho trovato cose'
premetto che il problema e' hardware e nel mio caso riguarda il controller usb NVIDIA della mia scheda madre
USB Controller: nVidia Corporation MCP61 USB Controller (rev a2) (prog-if 20 [EHCI])
nel mio caso fortunatamente non e' una periferica fondamentale e quindi il kernel non e' andato in crash come ho letto in alcuni post
lo stesso errore puo' essere generato da altri hardware sullo stesso canale(IRQ 16)
questo succede se viene riportata un'interruzione e nessuno dei driver registrati dichiara di averla gestita ci troviamo potenzialmente in situazione di errore; se tale evento avviene frequentemente il sistema disabilita l'interruzione impazzita. Il codice deputato a questi controlli è in arch/i386/kernel/irq.c, questo vale per tutti gli IRQ, da qui l'errore Disabling IRQ16.
con lspci ho controllato le periferiche
lspci -vv
---------------------------------------------------------------------------------------
00:02.1 USB Controller: nVidia Corporation MCP61 USB Controller (rev a2) (prog-if 20 [EHCI])
---------------------------------------------------------------------------------------
Subsystem: ASRock Incorporation 939NF6G-VSTA Board
Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
Status: Cap+ 66MHz+ UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
Latency: 0 (750ns min, 250ns max)
---------------------------------------------------------------------------------------
Interrupt: pin B routed to IRQ 16
---------------------------------------------------------------------------------------
Region 0: Memory at dfefec00 (32-bit, non-prefetchable) [size=256]
Capabilities: [44] Debug port: BAR=1 offset=0098
Capabilities: [80] Power Management version 2
Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0+,D1+,D2+,D3hot+,D3cold+)
Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-
Kernel driver in use: ehci_hcd
Kernel modules: ehci-hcd
questo e' /var/log/messages
Jul 24 06:07:24 vnode1 kernel: irq 16: nobody cared (try booting with the "irqpoll" option)
Jul 24 06:07:24 vnode1 kernel:
Jul 24 06:07:24 vnode1 kernel: Call Trace:
Jul 24 06:07:24 vnode1 kernel: <IRQ> [<ffffffff802b5c3c>] __report_bad_irq+0x30/0x7d
Jul 24 06:07:24 vnode1 kernel: [<ffffffff802b5e73>] note_interrupt+0x1ea/0x22b
Jul 24 06:07:24 vnode1 kernel: [<ffffffff802b537b>] __do_IRQ+0xbd/0x103
Jul 24 06:07:24 vnode1 kernel: [<ffffffff80207112>] kmem_cache_free+0x80/0xd3
Jul 24 06:07:24 vnode1 kernel: [<ffffffff8026e6fa>] do_IRQ+0xc6/0xcf
Jul 24 06:07:24 vnode1 kernel: [<ffffffff803b7979>] evtchn_do_upcall+0x147/0x201
Jul 24 06:07:24 vnode1 kernel: [<ffffffff802608d6>] do_hypervisor_callback+0x1e/0x2c
Jul 24 06:07:24 vnode1 kernel: <EOI> [<ffffffff802063aa>] hypercall_page+0x3aa/0x1000
Jul 24 06:07:24 vnode1 kernel: [<ffffffff802063aa>] hypercall_page+0x3aa/0x1000
Jul 24 06:07:24 vnode1 kernel: [<ffffffff8029be5a>] rcu_pending+0x45/0x50
Jul 24 06:07:24 vnode1 kernel: [<ffffffff8026ff2a>] raw_safe_halt+0x84/0xa8
Jul 24 06:07:24 vnode1 kernel: [<ffffffff8026d4e1>] xen_idle+0x38/0x4a
Jul 24 06:07:24 vnode1 kernel: [<ffffffff8024b144>] cpu_idle+0x97/0xba
Jul 24 06:07:24 vnode1 kernel: [<ffffffff806a6b0f>] start_kernel+0x21f/0x224
Jul 24 06:07:24 vnode1 kernel: [<ffffffff806a61e5>] _sinittext+0x1e5/0x1eb
Jul 24 06:07:24 vnode1 kernel:
Jul 24 06:07:24 vnode1 kernel: handlers:
Jul 24 06:07:24 vnode1 kernel: [<ffffffff803ebac6>] (usb_hcd_irq+0x0/0x55)
---------------------------------------------------------------------------------------
Jul 24 06:07:24 vnode1 kernel: Disabling IRQ #16
---------------------------------------------------------------------------------------
e un occhiata a /proc/interrupts
cat /proc/interrupts
CPU0 CPU1
1: 2 0 Phys-irq i8042
7: 0 0 Phys-irq parport0
8: 0 0 Phys-irq rtc
9: 0 0 Phys-irq acpi
12: 4 0 Phys-irq i8042
---------------------------------------------------------------------------------------
16: 2463 0 Phys-irq ehci_hcd:usb1
---------------------------------------------------------------------------------------
17: 173 0 Phys-irq ohci_hcd:usb2, hda_intel
18: 3375 0 Phys-irq sata_nv
19: 12717 0 Phys-irq sata_nv
20: 14 0 Phys-irq peth1
252: 1237 0 Phys-irq peth0
256: 197865 0 Dynamic-irq timer0
257: 4441 0 Dynamic-irq resched0
258: 56 0 Dynamic-irq callfunc0
259: 0 3975 Dynamic-irq resched1
260: 0 114 Dynamic-irq callfunc1
261: 0 13999 Dynamic-irq timer1
262: 1828 0 Dynamic-irq xenbus
263: 0 0 Dynamic-irq console
264: 1924 0 Dynamic-irq blkif-backend
265: 1484 0 Dynamic-irq blkif-backend
266: 15 0 Dynamic-irq vif1.0
267: 64 0 Dynamic-irq vif2.0
268: 2 0 Dynamic-irq vif3.0
NMI: 0 0
LOC: 0 0
ERR: 0
MIS: 0
ho risolto disabilitando quell'IRQ per la porta usb specifica nel bios
oppure inserendo il nome del modulo del kernel associato alla periferica nel file /etc/modprobe.d/blacklist, nel mio caso ehci_hcd
echo "blacklist ehci_hcd" >> /etc/modprobe.d/blacklist
spengo tutte le domU e riavvio il sistema,quando pronto controllare /val/log/messages se ricompare l'errore visualizzato all'inizio
saluti a tutti