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.
--scott


JMBLUG SARANAC MI6 mustard KUBARK quiche ammunition TASS ODEARL Mossad nuclear security SEQUIN KUHOOK Moscow shotgun TPAJAX jihad NRA Suharto
( http://cscott.net/ )




Reply via email to