Re: SMP BUG

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




On Wed, 15 Feb 2006, Andrew Morton wrote:
> 
> I thought that patch wasn't a good one.  The runqueues should be
> initialised in sched_init().  init_idle() is called from fork_idle() which
> is called from the bowels of arch code.  I'm not sure that it gets called
> at all if !SMP (which seems strange).

sched_init() calls init_idle for the current CPU.

Perhaps more importantly, every _single_ CPU that comes up must call 
init-idle pretty much by definition. It's really what starts the whole 
scheduling thing - the scheduler itself very much depends on the "idle" 
task for each CPU.

So the reason I thought that Rik's patch was a cleanup was not because it 
was needed (initializing cpu_possible_map early should fix up the 
problems), but because it would actually be a very natural thing to do to 
to initialize the scheduler data structures as part of init-idle. The 
scheduler really isn't initialized until it has an idle thread anyway.

init_idle() already does part of the scheduler initializations, a pretty 
fundamental part, in fact:

	rq->curr = rq->idle = idle;

and the fact that "sched_init()" does some _other_ part of scheduler data 
structure initialization is actually just ugly.

So I like Rik's patch, but I don't feel _too_ strongly about it. The 
people who actually work on the scheduler should be the ones to sign off 
(or not) on it.

		Linus
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux