[PATCH v3 0/3] -tip cleanups/fixes for x2apic cluster mode routing

From: Suresh Siddha
Date: Mon Jun 25 2012 - 16:38:27 EST


Following patches will reserve the vector only on the cpu's where
the interrupt will be routed to based on the specified affinity mask
(not on the complete x2apic cluster which is the current behavior).
And by default during boot, device bringup etc, only one cpu
is used for interrupt destination. All this will reduce the vector
pressure (specifically for the case of single/two socket systems where
there will be atmost one or two x2apic clusters per-socket) when
there are more interrupt sources than the number of x2apic clusters.

Changes in v3:
* Fixed missing vsmp changes.

Changes in v2:

* cleaned up the apic driver's vector_allocation_domain() API.
* Minimize the vector usage during boot/device bringup.

Suresh Siddha (3):
x86, apic: optimize cpu traversal in __assign_irq_vector() using
domain membership
x86, x2apic: limit the vector reservation to the user specified mask
x86, x2apic: use multiple cluster members for the irq destination
only with the explicit affinity

arch/x86/include/asm/apic.h | 15 ++++++-----
arch/x86/kernel/apic/apic_noop.c | 4 +-
arch/x86/kernel/apic/io_apic.c | 44 ++++++++++++++++----------------
arch/x86/kernel/apic/x2apic_cluster.c | 26 +++++++++++++++---
arch/x86/kernel/vsmp_64.c | 4 +-
5 files changed, 55 insertions(+), 38 deletions(-)

--
1.7.6.5

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