Re: problem with 114 sched.* changes (not the gcc one)

Alan Cox (alan@lxorguk.ukuu.org.uk)
Sat, 22 Aug 1998 02:55:29 +0100 (BST)


> My humble oppinion is that, with the scheduling change in 2.1.114, rpciod
> will start running _before_ rpciod_up calls sleep_on() and therefore the
> wake_up() call at the beginning of rpciod becomes ineffective because
> nothing is sleeping on rpciod_idle yet. This is pure speculation, but it
> kind of makes sense. I'm not sure what the right fix is though...

That looks right. In which case the fix is to swap the

sleep_on(&rpciod_idle)

for (yes this is the sledgehammer approach for the moment)

save_flags(flags);
cli();
while(rpciod_pid==0)
sleep_on(&rpciod_idle);
restore_flags(flags);

Can you let me know if that change (or a similar flavour) fixes it

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.altern.org/andrebalsa/doc/lkml-faq.html