Re: init_idle reaped before final call

From: Martin J. Bligh (Martin.Bligh@us.ibm.com)
Date: Tue Mar 05 2002 - 16:57:09 EST


> I'm working with a (approximately) 2.4.17 kernel from the mips-linux
> tree (oss.sgi.com).
>
> I'd like to propose removing the "__init" designation from init_idle in
> kernel/sched.c, since this is called from rest_init via cpu_idle.
> Notice that rest_init isn't in an init section, and explicitly mentions
> that it's avoiding a race with free_initmem. In my kernel (an SMP
> kernel running on a system with only 1 available CPU), cpu_idle isn't
> getting called until after free_initmem().
>
> My CPU is MIPS, but it looks like x86 could experience the same problem.

I fixed something in this area for x86, looks like the same code path
for MIPS unless I'm misreading.

smp_init spins waiting on wait_init_idle until every cpu has done
init_idle. rest_init() isn't called until smp_init returns, so I'm not sure
how you could hit this (possibly there's a minute window after init_idle
clears the bit, but before it returns?).

M.

-
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 : Thu Mar 07 2002 - 21:00:47 EST