Re: [PATCH] change name of rep_nop

From: Martin J. Bligh (Martin.Bligh@us.ibm.com)
Date: Fri Oct 05 2001 - 18:54:06 EST


>> You also need to move the call to smp_boot_cpus() below the
>> clear_bit(...) line in smp_init(). Without it, my Wildfire doesn't get
>
> No, that won't work for me, because cpu_online_map is set by
> smp_boot_cpus(), at least on PPC (in fact each CPU sets its bit in
> cpu_online_map as it spins up).
>
> There shouldn't be a race on x86 at all, because the secondary
> processors don't call init_idle until after they see that the primary
> cpu has call smp_commence. (There is currently a race on PPC since we
> call init_idle before waiting for smp_commence, but that would not be
> your problem.)

There *is* a race on x86 - the problem is that the primary cpu can
get to reschedule_idle before the secondarys have done init_idle.
I'm not claiming the way I fixed it is beautiful, but the race definitely
exists (I hit it) and the patch makes the problem go away.

Sounds like rep_nop was the wrong way to spin - aplogies.

Martin.

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



This archive was generated by hypermail 2b29 : Sun Oct 07 2001 - 21:00:40 EST