--- Egbert Eich <[EMAIL PROTECTED]> a �crit : > Mark Vojkovich writes: > > Can we export to the drivers some function that > yields the CPU? > > Currently alot of drivers burn the CPU waiting > for fifos, etc... > > usleep(0) is not good for this because it's jiffy > based and usually > > never returns in less than 10 msec which has the > effect of making > > interactivity worse instead of better. I'm not > sure which platforms > > don't export sched_yield() and which will need > alternative > > implementations. > > > > I've experimented with sched_yield in drivers when > waiting for retrace > on video playback. It turned out that when the > system was otherwise > idle the video performance was about the same. > However when another > application was using its full time slice the video > frame rate would > drop far below the screen refresh rate. > > I've measured the latencies and it turned out that > the time elapsed > before the process would be rescheduled was > considerably higher than > the average time the process was hanging in the wait > loop when the > system was otherwise busy. > Shorter (or variable) time slices may help here, but > a better solution > would be to use an event (ie. interrupt) driven > rescheduling. > This would require a small kernel support module for > each driver, > though. >
This is perhaps a dumb idea, but could the futexes help here? I don't know if they have equivalent on other OSes than Linux. Bye Manu ___________________________________________________________ Do You Yahoo!? -- Une adresse @yahoo.fr gratuite et en fran�ais ! Yahoo! Mail : http://fr.mail.yahoo.com _______________________________________________ Devel mailing list [EMAIL PROTECTED] http://XFree86.Org/mailman/listinfo/devel
