Hi, On Sun, Apr 03, 2005 at 08:20:48PM -0400, C. Scott Ananian wrote: > On Mon, 4 Apr 2005, Troy Rollo wrote: > > >run into problems with timing issues. Interrupts pose a particular > >challenge > >in that ideally the process handling the device should be activated > >immediately, and the Linux kernel currently provides no interface to say > >"switch to this task now" - the scheduler code simply does not provide > >for it > >(which is a shame, because a directed yield call with an associated call > >to > >return the remainder of the donated time slice(*) to the donor would be a > >"simple" way of radically improving the performance of anything that uses > >wineserver). > > Um, I'm fairly certain that rendezvous via any kernel synchronization > mechanism (semaphores, condition variables, etc) will do exactly what you > want. The blocked task goes to sleep and the rest of the time slice is > preferentially transfered to the newly-active task. Such a mechanism is > much more general than your proposed special interface, and accomplishes > the same end. Ah, right, THAT one was the main reason a direct yield is not implemented. The usual blocking architecture achieves the same thing.
Andreas Mohr
