[<prev] [next>] [day] [month] [year] [list]
Message-ID: <CAKSCDraxo81GPNekpEr-G5QX-9evum4r2-xjZAkXqeNXb9REow@mail.gmail.com>
Date: Sat, 21 Feb 2015 13:15:10 +0200
From: Tal Abudi <talabudi@...il.com>
To: linux-kernel@...r.kernel.org
Subject: genirq - interrupt during MSI creation hangs the machine
Hi All
I'm back-porting the genirq patch series to my Linux 2.6.18.
After insmod'ing ixgbe driver with MQ enabled my machine hangs and I'm
unable to enter KDB.
I instrumented the MSIX and ixgbe drivers and found something strange.
The driver calls pci_enable_msix(with 41 vectors) ->
msix_capability_init() creates allocates msi descriptors and assign
each an IRQ.
An interrupt request occurs on IRQ 86 on a different CPU while it's
being created and handle_edge_irq() is being called.
The IRQ_DISABLED flag is set so the edge handle masks and acks the interupt.
This sometimes hand the machine and sometimes BUG_ON it.
(mask_MSI_irq() -> msi_set_mask_bit(), is null since we are in the
middle of msi creation process).
This issue only happens when I load the driver with more than 1 MQ
interfaces (nvec is >2 in those cases).
Which mechanism should prevent this situations ?
Why it always happens on the same IRQ ?
Did I miss any genirq patch ?
Thank you so much !
--
Best regards,
Tal Abudi
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists