Hi,
On Tue May 01, 2012 at 16:02:53 -0700, Shashi Sharma wrote:
Here is the log message that shows that Ankh is able to initialize the ethernet device (eth1) and assign an IRQ to it.
ankh | opening eth1 ankh | <6>device eth1 entered promiscuous mode ankh | set interface to promiscuous mode. ankh | Thread 0xcf for IRQ 40 io | (noname)[0x50200]: bind_irq(40, ...) io | IRQ 40 -> client io | IRQ mode = 300000 -> 6 io | bound irq 40 -> err=0 ankh | Opened 3 network devices. ankh | lo IRQ: 0x00 MAC: 00:00:00:00:00:00 MTU: 16436 ankh | eth0 IRQ: 0x00 MAC: 00:E0:81:C4:76:07 MTU: 1500 ankh | eth1 IRQ: 0x00 MAC: 00:E0:81:C4:76:06 MTU: 1500
As per your suggestion I looked it up in the "Shift-Q" list and I see the IRQ is properly connected to the proper Thread.
d1 ffd073d4 [IRQ ] I= 28 HW IRQ (DIRQ) L=28 T=cf F=7 Q=0
Using the "List IRQ Threads: R" in JDB I get the following result
jdb: R [l]ist/[a]ttach: l IRQ 04/04 IRQ 28/40 IRQ 29/41
Which shows that the IRQ is attached to the thread.
But still, The IGB's Interrupt Service Routine (ISR) never gets invoked.
That looks quite ok to me. What you can check is whether the driver thinks it should use MSI type interrupts, and if yes, force it to legacy mode and see if it changes its behavior.
Adam