Messages in this thread | | | From | Suresh Siddha <> | Subject | [PATCH v2 0/3] -tip cleanups/fixes for x2apic cluster mode routing | Date | Thu, 21 Jun 2012 15:02:22 -0700 |
| |
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 from the previous version:
* 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 +++++++++++++++--- 4 files changed, 53 insertions(+), 36 deletions(-)
-- 1.7.6.5
| |