[PATCH] x86: avoid wasting IRQs for PCI devices
authorNatalie Protasevich <Natalie.Protasevich@unisys.com>
Thu, 23 Jun 2005 07:08:29 +0000 (00:08 -0700)
committerLinus Torvalds <torvalds@ppc970.osdl.org>
Thu, 23 Jun 2005 16:45:10 +0000 (09:45 -0700)
commitc434b7a6aedfe428ad17cd61b21b125a7b7a29ce
tree1b1fb9d7279e715b765d8a4dd8a439166d68c516
parentb5d23e5b8c7ecd97d32f6ad7680d9909977580a7
[PATCH] x86: avoid wasting IRQs for PCI devices

I have submitted the patch for x86_64, this is submission for i386.

The patch changes the way IRQs are handed out to PCI devices.  Currently,
each I/O APIC pin gets associated with an IRQ, no matter if the pin is used
or not.  This imposes severe limitation on systems that have designs that
employ many I/O APICs, only utilizing couple lines of each, such as P64H2
chipset.  It is used in ES7000, and currently, there is no way to boot the
system with more that 9 I/O APICs.

The simple change below allows to boot a system with say 64 (or more) I/O
APICs, each providing 1 slot, which otherwise impossible because of the IRQ
gaps created for unused lines on each I/O APIC.  It does not resolve the
problem with number of devices that exceeds number of possible IRQs, but
eases up a tension for IRQs on any large system with potentually large
number of devices.

Signed-off-by: Natalie Protasevich <Natalie.Protasevich@unisys.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
arch/i386/kernel/mpparse.c