public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Ingo Molnar <mingo@elte.hu>
To: Al Boldi <a1426z@gawab.com>
Cc: linux-kernel@vger.kernel.org
Subject: Re: [patch] CFS scheduler, -v7
Date: Thu, 3 May 2007 10:07:06 +0200	[thread overview]
Message-ID: <20070503080706.GA18427@elte.hu> (raw)
In-Reply-To: <20070503074552.GA14960@elte.hu>


* Ingo Molnar <mingo@elte.hu> wrote:

> > [...] but there are still some nice issues.
> > 
> > Try running 3 chew.c's, then renicing one to -10, starves others for 
> > some seconds while switching prio-level.  Now renice it back to 10, 
> > it starves for up to 45sec.
> 
> ok - to make sure i understood you correctly: does this starvation 
> only occur right when you renice it (when switching prio levels), and 
> it gets rectified quickly once they get over a few reschedules?

meanwhile i managed to reproduce it by following the exact steps you 
described, and i've fixed the bug in my tree. Can you confirm that the 
patch below fixes it for you too?

	Ingo

----------------->
From: Ingo Molnar <mingo@elte.hu>
Subject: [patch] sched, cfs: fix starvation upon nice level switching

Al Boldi reported the following bug: when switching a CPU-intense task's 
nice levels they can get unfairly starved right after the priority level 
switching. The bug was that when changing the load_weight the 
->wait_runtime value did not get rescaled. So clear wait_runtime when 
switching nice levels.

Signed-off-by: Ingo Molnar <mingo@elte.hu>

Index: linux/kernel/sched.c
===================================================================
--- linux.orig/kernel/sched.c
+++ linux/kernel/sched.c
@@ -575,6 +580,7 @@ static void set_load_weight(struct task_
 {
 	p->load_shift = get_load_shift(p);
 	p->load_weight = 1 << p->load_shift;
+	p->wait_runtime = 0;
 }
 
 static inline void

  reply	other threads:[~2007-05-03  8:07 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-04-30  5:20 [patch] CFS scheduler, -v7 Al Boldi
2007-05-03  7:45 ` Ingo Molnar
2007-05-03  8:07   ` Ingo Molnar [this message]
2007-05-03 11:16     ` Al Boldi
2007-05-03 12:36       ` Ingo Molnar
2007-05-03 13:49         ` Al Boldi
2007-05-03  8:42   ` Al Boldi
2007-05-03 15:02   ` Ting Yang
2007-05-03 15:17     ` Ingo Molnar
2007-05-03 16:00       ` Ting Yang
2007-05-03 19:48         ` Ingo Molnar
2007-05-03 19:57           ` William Lee Irwin III
  -- strict thread matches above, loose matches on Subject: below --
2007-04-28 15:25 Ingo Molnar
2007-04-28 19:20 ` S.Çağlar Onur
2007-04-28 19:24   ` Ingo Molnar
2007-04-28 23:42     ` S.Çağlar Onur
2007-04-29  7:11       ` Ingo Molnar
2007-04-29 12:37         ` S.Çağlar Onur
2007-04-29 15:58           ` Ingo Molnar
2007-04-29 22:29             ` Dennis Brendel
2007-04-30 14:38             ` S.Çağlar Onur
2007-04-28 19:27   ` S.Çağlar Onur
2007-04-29 17:28 ` Prakash Punnoor
2007-05-04 13:05   ` Prakash Punnoor
2007-04-30 16:29 ` Srivatsa Vaddagiri
2007-04-30 18:30 ` Balbir Singh

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=20070503080706.GA18427@elte.hu \
    --to=mingo@elte.hu \
    --cc=a1426z@gawab.com \
    --cc=linux-kernel@vger.kernel.org \
    /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