Re: [patch 01/50] genirq: cleanup: merge irq_affinity[] into irq_desc[]
From: Ingo Molnar
Date: Wed May 17 2006 - 04:32:09 EST
* Sam Ravnborg <sam@xxxxxxxxxxxx> wrote:
> > +++ linux-genirq.q/arch/powerpc/platforms/pseries/xics.c
> > @@ -238,7 +238,7 @@ static int get_irq_server(unsigned int i
> > {
> > unsigned int server;
> > /* For the moment only implement delivery to all cpus or one cpu */
> > - cpumask_t cpumask = irq_affinity[irq];
> > + cpumask_t cpumask = irq_desc[irq].affinity;
> > cpumask_t tmp = CPU_MASK_NONE;
> >
> > if (!distribute_irqs)
>
> Assigned unconditionally - outside CONFIG_SMP as I read the code but..
> > +#ifdef CONFIG_SMP
> > + cpumask_t affinity;
> > +#endif
> But defined only for SMP. Looks wrong at first look.
but the original array was under SMP too:
--- linux-genirq.q.orig/kernel/irq/manage.c
+++ linux-genirq.q/kernel/irq/manage.c
@@ -16,8 +16,6 @@
#ifdef CONFIG_SMP
-cpumask_t irq_affinity[NR_IRQS] = { [0 ... NR_IRQS-1] = CPU_MASK_ALL };
so if then this is a powerpc bug. (probably pseries is rarely built
without SMP support)
Ingo
-
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/