mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: "Chen, Kenneth W" <kenneth.w.chen@intel.com>
To: "'Con Kolivas'" <kernel@kolivas.org>
Cc: <tim.c.chen@linux.intel.com>, <linux-kernel@vger.kernel.org>,
	<mingo@elte.hu>, "Andrew Morton" <akpm@osdl.org>
Subject: RE: Regression seen for patch "sched:dont decrease idle sleep avg"
Date: Mon, 15 May 2006 12:01:06 -0700	[thread overview]
Message-ID: <4t16i2$12rqnu@orsmga001.jf.intel.com> (raw)
In-Reply-To: <200605150203.13633.kernel@kolivas.org>

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.

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.


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

Signed-off-by: Ken Chen <kenneth.w.chen@intel.com>

--- ./kernel/sched.c.orig	2006-05-15 12:24:02.000000000 -0700
+++ ./kernel/sched.c	2006-05-15 12:37:16.000000000 -0700
@@ -746,10 +746,12 @@ static int recalc_task_prio(task_t *p, u
 	if (likely(sleep_time > 0)) {
 		/*
 		 * User tasks that sleep a long time are categorised as
-		 * idle. They will only have their sleep_avg increased to a
-		 * level that makes them just interactive priority to stay
-		 * active yet prevent them suddenly becoming cpu hogs and
-		 * starving other processes.
+		 * idle. If they sleep longer than INTERACTIVE_SLEEP, it
+		 * will have its priority boosted to minimum MAX_BONUS-1.
+		 * For short sleep, they will only have their sleep_avg
+		 * increased to a level that makes them just interactive
+		 * priority to stay active yet prevent them suddenly becoming
+		 * cpu hogs and starving other processes.
 		 */
 		if (p->mm && sleep_time > INTERACTIVE_SLEEP(p)) {
 				unsigned long ceiling;



  reply	other threads:[~2006-05-15 19:04 UTC|newest]

Thread overview: 43+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-05-08 23:18 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 [this message]
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
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
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='4t16i2$12rqnu@orsmga001.jf.intel.com' \
    --to=kenneth.w.chen@intel.com \
    --cc=akpm@osdl.org \
    --cc=kernel@kolivas.org \
    --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

Powered by JetHome