diff options
author | Eric W. Biederman <ebiederm@xmission.com> | 2006-10-04 05:16:35 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-10-04 10:55:27 -0400 |
commit | 92db6d10bc1bc43330a4c540fa5b64c83d9d865f (patch) | |
tree | d889ea4ba6d2e55a33d89f05d2b2222bed7788e7 /drivers/pci/msi.h | |
parent | 38bc0361303535c86f6b67b151a541728d7bdae6 (diff) |
[PATCH] genirq: msi: simplify the msi irq limit policy
Currently we attempt to predict how many irqs we will be able to allocate with
msi using pci_vector_resources and some complicated accounting, and then we
only allow each device as many irqs as we think are available on average.
Only the s2io driver even takes advantage of this feature all other drivers
have a fixed number of irqs they need and bail if they can't get them.
pci_vector_resources is inaccurate if anyone ever frees an irq. The whole
implmentation is racy. The current irq limit policy does not appear to make
sense with current drivers. So I have simplified things. We can revisit this
we we need a more sophisticated policy.
Signed-off-by: Eric W. Biederman <ebiederm@xmission.com>
Cc: Ingo Molnar <mingo@elte.hu>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: Rajesh Shah <rajesh.shah@intel.com>
Cc: Andi Kleen <ak@muc.de>
Cc: "Protasevich, Natalie" <Natalie.Protasevich@UNISYS.com>
Cc: "Luck, Tony" <tony.luck@intel.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'drivers/pci/msi.h')
-rw-r--r-- | drivers/pci/msi.h | 11 |
1 files changed, 0 insertions, 11 deletions
diff --git a/drivers/pci/msi.h b/drivers/pci/msi.h index 3519eca50d8a..6793241f3884 100644 --- a/drivers/pci/msi.h +++ b/drivers/pci/msi.h | |||
@@ -8,19 +8,8 @@ | |||
8 | 8 | ||
9 | #include <asm/msi.h> | 9 | #include <asm/msi.h> |
10 | 10 | ||
11 | /* | ||
12 | * Assume the maximum number of hot plug slots supported by the system is about | ||
13 | * ten. The worstcase is that each of these slots is hot-added with a device, | ||
14 | * which has two MSI/MSI-X capable functions. To avoid any MSI-X driver, which | ||
15 | * attempts to request all available vectors, NR_HP_RESERVED_VECTORS is defined | ||
16 | * as below to ensure at least one message is assigned to each detected MSI/ | ||
17 | * MSI-X device function. | ||
18 | */ | ||
19 | #define NR_HP_RESERVED_VECTORS 20 | ||
20 | |||
21 | extern int vector_irq[NR_VECTORS]; | 11 | extern int vector_irq[NR_VECTORS]; |
22 | extern void (*interrupt[NR_IRQS])(void); | 12 | extern void (*interrupt[NR_IRQS])(void); |
23 | extern int pci_vector_resources(int last, int nr_released); | ||
24 | 13 | ||
25 | /* | 14 | /* |
26 | * MSI-X Address Register | 15 | * MSI-X Address Register |