From: Con Kolivas <kernel@kolivas.org>
To: "Chen, Kenneth W" <kenneth.w.chen@intel.com>
Cc: tim.c.chen@linux.intel.com, linux-kernel@vger.kernel.org,
mingo@elte.hu, "Andrew Morton" <akpm@osdl.org>,
"Mike Galbraith" <efault@gmx.de>
Subject: Re: Regression seen for patch "sched:dont decrease idle sleep avg"
Date: Thu, 18 May 2006 10:35:14 +1000 [thread overview]
Message-ID: <200605181035.15142.kernel@kolivas.org> (raw)
In-Reply-To: <4t16i2$13uiu1@orsmga001.jf.intel.com>
On Thursday 18 May 2006 05:33, Chen, Kenneth W wrote:
> The assignment of p->sleep_avg = ceiling doesn't make much logical sense.
> Because INTERACTIVE_SLEEP is scaled proportionally with nice value, e.g.
> the lower the nice value, the lower the interactive_sleep. However,
> priority calculation is inverse of p->sleep_avg, e.g. the smaller the
> sleep_avg, the smaller the bonus, thus the higher dynamic priority.
>
> Take one concrete example: for a prolonged sleep, say 1 second, nice(-10)
> will have a priority boost of 4 while nice(0) will have a priority boost of
> 9. The ceiling algorithm looks like is reversed. I would think kernel
> should at least enforce same ceiling value independent of nice value.
I see why you don't like it. However I still don't think you understand why
the ceiling of that magnitude is there. Tasks behave very differently
depending on whether their priority is low enough that they expire at the end
of every timeslice and get put on the expired array, or their priority is
high enough that they get reinserted into the active array. It's an intrinsic
quirk in the "interactive" design of the scheduler that basically means we
have two classes of task - interactive enough to be reinserted into the
active array or not. As the comment already says the ceiling is there to
prevent one sleep from getting them to best priority. I don't want them to
get high priority with one large enough sleep, but I do want them to get into
the reinsertion class which behaves entirely differently. What is missing
from the comment is to say that it is also designed to stop them at the
lowest possible priority that still keeps them in the interactive reinsertion
class. Using a constant ceiling value irrespective of nice will not guarantee
that tasks fall into the active reinsertion class dependant on their nice
value.
--
-ck
next prev parent reply other threads:[~2006-05-18 0:36 UTC|newest]
Thread overview: 43+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-05-08 23:18 Regression seen for patch "sched:dont decrease idle sleep avg" Tim Chen
2006-05-09 0:43 ` Con Kolivas
2006-05-09 1:07 ` Martin Bligh
2006-05-12 0:04 ` Chen, Kenneth W
2006-05-13 12:27 ` Andrew Morton
2006-05-13 13:07 ` Mike Galbraith
2006-05-14 16:03 ` Con Kolivas
2006-05-15 19:01 ` Chen, Kenneth W
2006-05-15 23:45 ` Con Kolivas
2006-05-16 1:22 ` Chen, Kenneth W
2006-05-16 1:44 ` Con Kolivas
2006-05-16 4:10 ` Mike Galbraith
2006-05-16 23:32 ` Tim Chen
2006-05-17 4:25 ` Mike Galbraith
2006-05-17 4:45 ` Peter Williams
2006-05-17 5:24 ` Mike Galbraith
2006-05-17 8:23 ` Con Kolivas
2006-05-17 9:49 ` Mike Galbraith
2006-05-17 10:25 ` Con Kolivas
2006-05-17 11:42 ` Mike Galbraith
2006-05-17 12:46 ` Con Kolivas
2006-05-17 13:41 ` Mike Galbraith
2006-05-17 15:10 ` Con Kolivas
2006-05-17 17:21 ` Ray Lee
2006-05-17 19:33 ` Chen, Kenneth W
2006-05-18 0:35 ` Con Kolivas [this message]
2006-05-18 1:10 ` Chen, Kenneth W
2006-05-18 1:38 ` Con Kolivas
2006-05-18 5:44 ` Mike Galbraith
2006-05-18 5:52 ` Con Kolivas
2006-05-18 7:04 ` Mike Galbraith
2006-05-18 12:59 ` Mike Galbraith
2006-05-19 1:10 ` Con Kolivas
2006-05-18 23:17 ` Chen, Kenneth W
2006-05-19 1:30 ` [PATCH] sched: fix interactive ceiling code Con Kolivas
2006-05-19 2:02 ` Mike Galbraith
2006-05-19 9:40 ` Ingo Molnar
2006-05-19 14:37 ` Chen, Kenneth W
2006-05-19 16:19 ` tim_c_chen
2006-05-18 23:34 ` Regression seen for patch "sched:dont decrease idle sleep avg" Chen, Kenneth W
2006-05-19 1:07 ` Con Kolivas
2006-05-16 4:07 ` Mike Galbraith
-- strict thread matches above, loose matches on Subject: below --
2006-05-18 4:01 Al Boldi
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=200605181035.15142.kernel@kolivas.org \
--to=kernel@kolivas.org \
--cc=akpm@osdl.org \
--cc=efault@gmx.de \
--cc=kenneth.w.chen@intel.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@elte.hu \
--cc=tim.c.chen@linux.intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox