Messages in this thread | | | Date | Sat, 22 Aug 1998 04:14:50 -0400 (EDT) | From | Ion Badulescu <> | Subject | Re: problem with 114 sched.* changes (not the gcc one) |
| |
On Sat, 22 Aug 1998, Alan Cox wrote:
> > 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
The patch from Linus fixes the problem, and it makes tons of sense too -- a semaphore is the right thing to use if you don't want to depend on scheduling details.
Thanks, Ion
-- It is better to keep your mouth shut and be thought a fool, than to open it and remove all doubt.
- 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
| |