Wine scheduling and threading issues [was Re: Threading issues...]

Jeremy White jwhite at codeweavers.com
Sat Jan 15 23:49:43 CST 2005


Hi all,

This is simply a renaming and reorganizing post; Dimi wacked me
with a clue bat, and I am now looping Ingo Molnar into this
conversation (and I am doing it at great haste since he
made noises about helping <grin>).

The thread started here:
   http://www.winehq.org/hypermail/wine-devel/2004/08/0306.html
   http://www.winehq.org/hypermail/wine-devel/2004/09/0081.html

picked up a bit here:
   http://www.winehq.org/hypermail/wine-devel/2005/01/0331.html

(the multiple URLs are entirely due to the apparent failing
of hypermail to span month boundaries).

I've asserted that a large obstacle we face is our inability
to replicate the Windows concept of thread priorities.

Ove recently added what struck me as a very interesting suggestion:

> 
> The biggest problem is that there is no way to say to the kernel that
> one thread is more important than another without permanently renicing
> all other threads. A potential kernel solution to the problem would be
> to implement process scoping in the kernel, i.e.
> 
> pthread_attr_setscope(attr, PTHREAD_SCOPE_PROCESS)
> 
> and then allow threads scoped this way to be set to high priority, since
> with a process scope, these threads should only preempt other threads in
> the same process (i.e. Wine), not threads run by other Linux apps, and
> thus the security concerns of elevated priority threads are irrelevant.
> 
> Allowing a process-scoped thread to set the scheduling policy to
> SCHED_RR in order to inhibit the kernel's interactivity priority boost
> system would also help.
> 
> 

And that brings us up to date.

Cheers,

Jeremy



More information about the wine-devel mailing list