Re: Regression seen for patch "sched:dont decrease idle sleep avg"

Con Kolivas
2006-05-15T23:45:39Z

On Tuesday 16 May 2006 05:01, Chen, Kenneth W wrote:
> Con Kolivas wrote on Sunday, May 14, 2006 9:03 AM
>
> > There would be no difference if the priority boost is done lower. The if
> > and else blocks both end up equating to the same amount of priority
> > boost, with the former having a ceiling on it, so yes it is the intent.
> > You'll see that the amount of sleep required to jump from lowest priority
> > to MAX_SLEEP_AVG - DEF_TIMESLICE is INTERACTIVE_SLEEP.
>
> I don't think the if and the else block is doing the same thing. In the if
> block, the p->sleep_avg is unconditionally boosted to ceiling for all
> tasks, though it will not reduce sleep_avg for tasks that already exceed
> the ceiling. Bumping up sleep_avg will then translate into priority boost
> of MAX_BONUS-1, which potentially can be too high.

Yes it's only designed to detect something that has been asleep for an
arbitrary long time and "categorised as idle"; it is not supposed to be a
priority stepping stone for everything, in this case at MAX_BONUS-1. Mike
proposed doing this instead, but it was never my intent. Your comment is not
quite correct as it just happens to be MAX_BONUS-1 at nice 0, and not any
other nice value.

> But that's fine if it is the intent. At minimum, the comment in the source
> code should say so instead of fooling people who don't actually read the
> code.

Feel free to update it to how you understand it now :) I have this feeling
we'll be seeing quite some action here soon...

> [patch] sched: update comments in priority calculation w.r.t.
> implementation.

--
-ck