For some reason the code has been picking TARGET_CPUS when asked to set the affinity to an empty set of cpus. That is just silly it's extra work. Instead if there are no cpus to set the affinity to we should just give up immediately. That is simpler and a little more intuitive. Signed-off-by: Eric W. Biederman <ebiederm@xmission.com> --- arch/x86_64/kernel/io_apic.c | 12 +++--------- 1 files changed, 3 insertions(+), 9 deletions(-) diff --git a/arch/x86_64/kernel/io_apic.c b/arch/x86_64/kernel/io_apic.c index e064838..74671de 100644 --- a/arch/x86_64/kernel/io_apic.c +++ b/arch/x86_64/kernel/io_apic.c @@ -244,9 +244,7 @@ static void set_ioapic_affinity_irq(unsigned int irq, cpumask_t mask) cpus_and(tmp, mask, cpu_online_map); if (cpus_empty(tmp)) - tmp = TARGET_CPUS; - - cpus_and(mask, tmp, CPU_MASK_ALL); + return; vector = assign_irq_vector(irq, mask, &tmp); if (vector < 0) @@ -1890,9 +1888,7 @@ static void set_msi_irq_affinity(unsigned int irq, cpumask_t mask) cpus_and(tmp, mask, cpu_online_map); if (cpus_empty(tmp)) - tmp = TARGET_CPUS; - - cpus_and(mask, tmp, CPU_MASK_ALL); + return; vector = assign_irq_vector(irq, mask, &tmp); if (vector < 0) @@ -1985,9 +1981,7 @@ static void set_ht_irq_affinity(unsigned int irq, cpumask_t mask) cpus_and(tmp, mask, cpu_online_map); if (cpus_empty(tmp)) - tmp = TARGET_CPUS; - - cpus_and(mask, tmp, CPU_MASK_ALL); + return; vector = assign_irq_vector(irq, mask, &tmp); if (vector < 0) -- 1.5.0.g53756 - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
- Follow-Ups:
- [PATCH 07/14] x86_64 irq: In __DO_ACTION perform the FINAL action for every entry.
- From: ebiederm@xmission.com (Eric W. Biederman)
- [PATCH 07/14] x86_64 irq: In __DO_ACTION perform the FINAL action for every entry.
- References:
- Re: [PATCH 2/2] x86_64 irq: Handle irqs pending in IRR during irq migration.
- From: Ingo Molnar <mingo@elte.hu>
- Re: [PATCH 2/2] x86_64 irq: Handle irqs pending in IRR during irq migration.
- From: ebiederm@xmission.com (Eric W. Biederman)
- Re: [PATCH 2/2] x86_64 irq: Handle irqs pending in IRR during irq migration.
- From: Ingo Molnar <mingo@elte.hu>
- Re: [PATCH 2/2] x86_64 irq: Handle irqs pending in IRR during irq migration.
- From: ebiederm@xmission.com (Eric W. Biederman)
- Re: [PATCH 2/2] x86_64 irq: Handle irqs pending in IRR during irq migration.
- From: ebiederm@xmission.com (Eric W. Biederman)
- Re: [PATCH 2/2] x86_64 irq: Handle irqs pending in IRR during irq migration.
- From: ebiederm@xmission.com (Eric W. Biederman)
- What are the real ioapic rte programming constraints?
- From: ebiederm@xmission.com (Eric W. Biederman)
- Re: What are the real ioapic rte programming constraints?
- From: Zwane Mwaikambo <zwane@infradead.org>
- Re: What are the real ioapic rte programming constraints?
- From: ebiederm@xmission.com (Eric W. Biederman)
- Re: What are the real ioapic rte programming constraints?
- From: Zwane Mwaikambo <zwane@infradead.org>
- Re: What are the real ioapic rte programming constraints?
- From: ebiederm@xmission.com (Eric W. Biederman)
- Re: What are the real ioapic rte programming constraints?
- From: Zwane Mwaikambo <zwane@infradead.org>
- Re: What are the real ioapic rte programming constraints?
- From: ebiederm@xmission.com (Eric W. Biederman)
- Conclusions from my investigation about ioapic programming
- From: ebiederm@xmission.com (Eric W. Biederman)
- [PATCH 0/14] x86_64 irq related fixes and cleanups.
- From: ebiederm@xmission.com (Eric W. Biederman)
- [PATCH 01/14] x86_64 irq: Simplfy __assign_irq_vector
- From: ebiederm@xmission.com (Eric W. Biederman)
- [PATCH 02/14] irq: Remove set_native_irq_info
- From: ebiederm@xmission.com (Eric W. Biederman)
- [PATCH 03/14] x86_64 irq: Kill declaration of removed array, interrupt
- From: ebiederm@xmission.com (Eric W. Biederman)
- [PATCH 04/14] x86_64 irq: Remove the unused vector parameter from ioapic_register_intr
- From: ebiederm@xmission.com (Eric W. Biederman)
- [PATCH 05/14] x86_64 irq: Refactor setup_IO_APIC_irq
- From: ebiederm@xmission.com (Eric W. Biederman)
- Re: [PATCH 2/2] x86_64 irq: Handle irqs pending in IRR during irq migration.
- Prev by Date: [PATCH 05/14] x86_64 irq: Refactor setup_IO_APIC_irq
- Next by Date: Re: Sound 2.6.19: Soundcard driver often fail to load?
- Previous by thread: [PATCH 05/14] x86_64 irq: Refactor setup_IO_APIC_irq
- Next by thread: [PATCH 07/14] x86_64 irq: In __DO_ACTION perform the FINAL action for every entry.
- Index(es):
![]() |