Hi, On Mon, Apr 04, 2005 at 08:58:32AM +1000, Troy Rollo wrote: > Of course such a mechanism would be much slower than a native driver, and may > 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). AFAIR (some recent discussion?) there were good reasons for not implementing that, since it isn't all that helpful. But I'm not sure...
> So, input an output instructions: possible but likely to be slow, sometimes > unacceptably slow. Interrupts are more of a problem due to the inability to > do a directed yield. > > If you seriously want to attempt this, I would suggest your first port of > call > would be to the kernel list to discuss the possibility of implementing > directed yield. Nope, that should probably be the Con Kolivas list, since they do a LOT more about scheduling things. An interesting experiment could be using a recent Con Kolivas kernel (2.6.11-ck3) and installing schedtoold and let wineserver run in isochronous scheduling (SCHED_ISO). Then try some "nice" games to see what happens... Andreas Mohr
