Re: [PATCH] i386 CPU hotplug updated for -mm

From: Zwane Mwaikambo
Date: Tue Oct 12 2004 - 09:47:33 EST


On Tue, 12 Oct 2004, Nathan Lynch wrote:

> On Tue, 2004-10-12 at 01:04, Ingo Molnar wrote:
> > * Nathan Lynch <nathanl@xxxxxxxxxxxxxx> wrote:
> >
> > > I fixed up the warning in cpu_down with the following patch and now am
> > > running with that + 2.6.9-rc4-mm1 + your patch while doing continuous
> > > online/offline and make -j8. It's been running for about 45 minutes
> > > and I haven't seen the panic yet, although I'm at a loss to explain
> > > why the change would fix it. Will let it run overnight and report
> > > back...
> >
> > > /* Move it here so it can run. */
> > > - kthread_bind(p, smp_processor_id());
> > > + kthread_bind(p, get_cpu());
> > > + put_cpu();
> >
> > > /* CPU is completely dead: tell everyone. Too late to complain. */
> > > if (notifier_call_chain(&cpu_chain, CPU_DEAD, (void *)(long)cpu)
> >
> > hm, is there any assurance that smp_processor_id() == cpu?
>
> Actually, cpu != smp_processor_id(). cpu is the processor we have just
> taken down at that point; we want the kthread to run on some other cpu.

Nathan, thanks for doing that testing, the warning does indeed look to be
a false positive. Looking at the code again, i realised that there might
also be cases where someone does the following;

preempt_disable();
cpu = smp_processor_id();
...
preempt_enable();
...
mod_local_cpu_variable[cpu];

So cached values of smp_processor_id() might also be a problem, although i
haven't found any cases, but maybe that's just being overly paranoid =)
-
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/