diff options
author | Suresh Siddha <suresh.b.siddha@intel.com> | 2012-05-22 01:58:02 +0200 |
---|---|---|
committer | Ingo Molnar <mingo@kernel.org> | 2012-06-06 09:51:22 +0200 |
commit | 0b8255e660a0c229ebfe8f9fde12a8d4d34c50e0 (patch) | |
tree | 1cb345c46d2e20b857bfd04423d4686f919d2f0d /arch/x86/include/asm/x2apic.h | |
parent | x86/irq: Update irq_cfg domain unless the new affinity is a subset of the cur... (diff) | |
download | linux-0b8255e660a0c229ebfe8f9fde12a8d4d34c50e0.tar.xz linux-0b8255e660a0c229ebfe8f9fde12a8d4d34c50e0.zip |
x86/x2apic/cluster: Use all the members of one cluster specified in the smp_affinity mask for the interrupt destination
If the HW implements round-robin interrupt delivery, this
enables multiple cpu's (which are part of the user specified
interrupt smp_affinity mask and belong to the same x2apic
cluster) to service the interrupt.
Also if the platform supports Power Aware Interrupt Routing,
then this enables the interrupt to be routed to an idle cpu or a
busy cpu depending on the perf/power bias tunable.
We are now grouping all the cpu's in a cluster to one vector
domain. So that will limit the total number of interrupt sources
handled by Linux. Previously we support "cpu-count *
available-vectors-per-cpu" interrupt sources but this will now
reduce to "cpu-count/16 * available-vectors-per-cpu".
Signed-off-by: Suresh Siddha <suresh.b.siddha@intel.com>
Cc: yinghai@kernel.org
Cc: gorcunov@openvz.org
Cc: agordeev@redhat.com
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Link: http://lkml.kernel.org/r/1337644682-19854-2-git-send-email-suresh.b.siddha@intel.com
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'arch/x86/include/asm/x2apic.h')
-rw-r--r-- | arch/x86/include/asm/x2apic.h | 9 |
1 files changed, 0 insertions, 9 deletions
diff --git a/arch/x86/include/asm/x2apic.h b/arch/x86/include/asm/x2apic.h index 92e54abf89e0..7a5a832a99b6 100644 --- a/arch/x86/include/asm/x2apic.h +++ b/arch/x86/include/asm/x2apic.h @@ -28,15 +28,6 @@ static int x2apic_apic_id_registered(void) return 1; } -/* - * For now each logical cpu is in its own vector allocation domain. - */ -static void x2apic_vector_allocation_domain(int cpu, struct cpumask *retmask) -{ - cpumask_clear(retmask); - cpumask_set_cpu(cpu, retmask); -} - static void __x2apic_send_IPI_dest(unsigned int apicid, int vector, unsigned int dest) { |