sched_init prematurely enables interrupts

Todd Inglett (tinglett@magnaspeed.net)
Wed, 12 Feb 2003 07:44:56 -0600


I think this bit is prematurely enabling interrupts in sched_init:

======== kernel/sched.c 1.1..1.156 ========
D 1.156 03/02/09 21:32:34-08:00 torvalds@home.transmeta.com 179 178
32/24/2466
P kernel/sched.c
C Make "try_to_wake_up()" care about the state of the process woken up.
C
C This simplifies "default_wake_function()", and makes it possible for
C signal handling to wake up only stopped tasks without races.
C
C It also makes it impossible to wake up already running processes, which
C means that the early boot sequence has to use the (much more correct)
C "wake_up_forked_process()" to put the initial task on the runqueues.

The problem is that wake_up_forked_process() does an rq_unlock(rq) which
is a spin_unlock_irq.

-todd

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