[Hardy][Intrepid] SRU request (assign IRQ0 vector bit)

Stefan Bader stefan.bader at canonical.com
Tue Sep 30 14:15:50 UTC 2008


SRU justification:

Impact: Repeatedly loading and unloading a driver that uses a non-shared IRQ
(always the case for MSI) will eventually assign the vector used by IRQ0
(timer). This is because IRQ0 is setup early in the IO_APIC (32bit) code
without marking the associated bit in the map of used vectors. This is a
specific problem in the 32bit code of the IO APIC.

Fix: patch attached (submitted upstream, not accepted, yet)

Testcase: 32bit system with IO APIC in use. Unload and load a driver which does
not share its IRQ repeatedly. After around 163 cycles cat /proc/interrupts will
not show any new interrupts on IRQ0 and the system sometimes starts to freeze
until any key is hit (trigger some other interrupt).
This has a dependency to the MSI-X allocation bug which also needs to be fixed.


When all other means of communication fail, try words!

-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-x86-Reserve-FIRST_DEVICE_VECTOR-in-used_vectors-bit.patch
Type: application/mbox
Size: 1523 bytes
Desc: not available
URL: <https://lists.ubuntu.com/archives/kernel-team/attachments/20080930/a5fbe00a/attachment.mbox>

More information about the kernel-team mailing list