Re: [PATCH] x86-64: using cpu_online_map instead of APIC_ALL_CPUS

From: Yinghai Lu
Date: Sun Oct 22 2006 - 15:59:27 EST


Muli,

Can you test this one?

YH

On 10/22/06, Eric W. Biederman <ebiederm@xxxxxxxxxxxx> wrote:
"Yinghai Lu" <yinghai.lu@xxxxxxx> writes:

> Using cpu_online_map instead of APIC_ALL_CPUS for flat apic mode, So
> __assign_irq_vector can refer correct per_cpu data.
>
> Cc: Muli Ben-Yehuda <muli@xxxxxxxxxx>
> Signed-off-by: Yinghai Lu <yinghai.lu@xxxxxxx>

Nack. This fixes the symptom not the bug.
More comprehensive patches follow.

Eric

-
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/

diff --git a/arch/x86_64/kernel/io_apic.c b/arch/x86_64/kernel/io_apic.c
index b000017..29cae92 100644
--- a/arch/x86_64/kernel/io_apic.c
+++ b/arch/x86_64/kernel/io_apic.c
@@ -634,7 +634,7 @@ static int __assign_irq_vector(int irq,
int first, new_cpu;
int vector, offset;

- domain = vector_allocation_domain(cpu);
+ cpus_and(domain, vector_allocation_domain(cpu), mask);
first = first_cpu(domain);

vector = pos[first].vector;