[PATCH 0/25] Decouple IRQ issues (MSI, i386, x86_64, ia64)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



The following patchset is against 2.6.17-rc6-mm2.
It was the only easy place I could get everyones work who has been
touching relevant code.

The primary aim of this patch is to remove maintenances problems caused
by the irq infrastructure.  The two big issues I address are an
artificially small cap on the number of irqs, and that MSI assumes
vector == irq.  My primary focus is on x86_64 but I have touched
other architectures where necessary to keep them from breaking.

- To increase the number of irqs I modify the code to look at
  the (cpu, vector) pair instead of just  looking at the vector.

  With a large number of irqs available systems with a large irq
  count no longer need to compress their irq numbers to fit.
  Removing a lot of brittle special cases.

  For acpi guys the result is that irq == gsi.

- Addressing the fact that MSI assumes irq == vector takes a few more
  patches.  But suffice it to say when I am done none of the generic
  irq code even knows what a vector is.

In quick testing on a large Unisys x86_64 machine we stumbled over at
least one driver that assumed that NR_IRQS could always fit into an 8
bit number.  This driver is clearly buggy today.  But this has become
a class of bugs that it is now much easier to hit. 

I've done my best but if this patchset wasn't perfect it won't
surprise me.  But I'm pretty certain I have succeeded in decoupling
any fixes should be small and well contained.

Eric
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux