> Hi,
> 
> On 04/06/06 00:51, Alexander Kolbasov wrote:
> > Hello,
> > 
> > here is you chance to bite a piece of the scheduler code.
> > 
> > The purpose of the fix is to make idle thread less less aggressive in 
> > stealin
> > work from other CPUs when the work was only placed on the run-queue 
> > recently.
> > 
> > The diffs are available at 
> > 
> > http://cr.grommit.com/~akolb/sticky/index.html
> 
> The changes look solid.
> 
> I have one question.  It looks like disp_getwork will traverse the
> other cpus (relative to the argument) in a deterministic order
> for a given cpu and lgroup configuration (I may be wrong there -
> it's not obvious!).  So is there a chance that cpu A in the idle
> loop might keep failing to find work to do if it keeps getting
> "don't steal" back from disp_getbest for some cpu which keeps
> turning up in the disp_getwork loop as having the highest
> unbound pri of all.  This may, I think, happen if some cpu
> has say an FX class thread of high fixed priority that
> keeps running and then blocking for a very short time.
> Maybe a pathalogical worry!

I updated the webrev. In the new code disp_getwork() tries to find another 
stealable thread and don't just stop if it finds the first one that can't be 
stolen. I think that thi sshould address your concern.

The new webrev is at http://cr.grommit.com/~akolb/sticky/index.html
The original webrev is available at http://cr.grommit.com/~akolb/sticky.save

- Alexander Kolbasov

_______________________________________________
perf-discuss mailing list
perf-discuss@opensolaris.org

Reply via email to