Subject: Re: alternate rough SA patch (works on SMP)
To: Stephan Uphoff <>
From: Christian Limpach <>
List: tech-kern
Date: 06/29/2003 22:16:28
Quoting Stephan Uphoff <>:

> > The cpu-queue wins over the 
> > global queue if both have lwp's at the same priority.
> This can theoretically cause starvation of LWPs on the global queue.

won't these get rescheduled at a higher priority eventually or could this 
be done?  It would be possible to do without the global queue and always 
pick a cpu in setrunqueue.  I tried to keep the overhead as low as 
possible, especially in cpu_switch.

> > Processes with SA enabled have a very strong affinity
> You seem to have reduced the SMP case to a UP case with
> respect to one SA process.

yes.  Isn't that how it's supposed to work anyway?  It's my understanding 
that there can only be one lwp on a vp and that there should be 
multiple vp's in the SMP case if the application (libpthread I guess?) 
supports it?  I agree that at the moment with my patch a SA process is tied 
too strongly to a specific CPU.

> This means that your patch inherits the UP problems of the current
> SA code. (Generally triggered by low memory conditions)

yes.  I assume these have to get fixed anyway!?  Isn't it an advantage if 
the UP and SMP case have (only) the same problems?  Unless there's 
something really flawed with my approach, is there?

Christian Limpach <>