On Tue, 2002-03-05 at 17:15, Kip Walker wrote:
>
> Maybe a better fix is to avoid this double calling of init_idle for the
> "master" CPU? From my reading the code, x86 seems to behave the same.
>
Looks to me like the clean fix would be to call init_idle() from
rest_init() before the init() thread is spawned, and remove it from
cpu_idle(). It looks like a pretty straightforward race condition that
no one else has happened to trigger in a bad way. I'm no scheduler pro,
but I don't see any problems with calling init_idle() earlier.
That fix assumes that bringup of non-primary cpus on other architectures
call init_idle() explicitly before allowing smp_init() to return; this
is true of mips, but I can't vouch for any other arch's.
I'd submit a patch, but I'm sadly lacking in SMP machines for testing.
Anyone who wants to rectify that, I'm open to charity. :)
-Justin
signature.asc
Description: This is a digitally signed message part
|