Messages in this thread | | | Date | Tue, 05 Mar 2002 13:57:09 -0800 | From | "Martin J. Bligh" <> | Subject | Re: init_idle reaped before final call |
| |
> 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/
| |