From: Srivatsa Vaddagiri <vatsa@in.ibm.com>
To: Ingo Molnar <mingo@elte.hu>
Cc: linux-kernel@vger.kernel.org,
Linus Torvalds <torvalds@linux-foundation.org>,
Andrew Morton <akpm@linux-foundation.org>,
Con Kolivas <kernel@kolivas.org>, Nick Piggin <npiggin@suse.de>,
Mike Galbraith <efault@gmx.de>,
Arjan van de Ven <arjan@infradead.org>,
Peter Williams <pwil3058@bigpond.net.au>,
Thomas Gleixner <tglx@linutronix.de>,
caglar@pardus.org.tr, Willy Tarreau <w@1wt.eu>,
Gene Heskett <gene.heskett@gmail.com>, Mark Lord <lkml@rtr.ca>,
Zach Carter <linux@zachcarter.com>,
buddabrod <buddabrod@gmail.com>
Subject: Re: [patch] CFS scheduler, -v6
Date: Sat, 28 Apr 2007 20:53:27 +0530 [thread overview]
Message-ID: <20070428152327.GE14716@in.ibm.com> (raw)
In-Reply-To: <20070428135338.GA8207@elte.hu>
On Sat, Apr 28, 2007 at 03:53:38PM +0200, Ingo Molnar wrote:
> > Won't it help if you update rq->rb_leftmost above from the value
> > returned by rb_first(), so that subsequent calls to first_fair will be
> > sped up?
>
> yeah, indeed. Would you like to do a patch for that?
My pleasure :)
With the patch below applied, I ran a "time -p make -s -j10 bzImage"
test.
2.6.20 + cfs-v6 -> 186.45 (real)
2.6.20 + cfs-v6 + this_patch -> 184.55 (real)
or about ~1% improvement in real wall-clock time. This was with the default
sched_granularity_ns of 6000000. I suspect larger the value of
sched_granularity_ns and the number of (SCHED_NORMAL) tasks in system, better
the benefit from this caching.
Cache value returned by rb_first(), for faster subsequent lookups.
Signed-off-by : Srivatsa Vaddagiri <vatsa@in.ibm.com>
---
diff -puN kernel/sched_fair.c~speedup kernel/sched_fair.c
--- linux-2.6.21/kernel/sched_fair.c~speedup 2007-04-28 19:28:08.000000000 +0530
+++ linux-2.6.21-vatsa/kernel/sched_fair.c 2007-04-28 19:34:55.000000000 +0530
@@ -86,7 +86,9 @@ static inline struct rb_node * first_fai
{
if (rq->rb_leftmost)
return rq->rb_leftmost;
- return rb_first(&rq->tasks_timeline);
+ /* Cache the value returned by rb_first() */
+ rq->rb_leftmost = rb_first(&rq->tasks_timeline);
+ return rq->rb_leftmost;
}
static struct task_struct * __pick_next_task_fair(struct rq *rq)
_
--
Regards,
vatsa
next prev parent reply other threads:[~2007-04-28 15:16 UTC|newest]
Thread overview: 89+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-04-25 21:47 [patch] CFS scheduler, -v6 Ingo Molnar
2007-04-26 2:14 ` Gene Heskett
2007-04-26 3:29 ` Nick Piggin
2007-04-26 3:49 ` Andrew Morton
2007-04-26 4:16 ` William Lee Irwin III
2007-04-26 8:27 ` Ingo Molnar
2007-04-26 9:18 ` Ingo Molnar
2007-04-26 14:06 ` Redeeman
2007-04-26 14:41 ` Gene Heskett
2007-04-26 20:09 ` Kasper Sandberg
2007-04-26 21:21 ` Gene Heskett
2007-04-27 4:02 ` Mike Galbraith
2007-04-27 6:01 ` Mike Galbraith
2007-04-27 11:53 ` Ingo Molnar
2007-04-27 11:55 ` Ingo Molnar
2007-04-27 13:39 ` Thomas Gleixner
2007-04-27 13:41 ` Ingo Molnar
2007-04-27 13:44 ` Thomas Gleixner
2007-04-28 15:35 ` Kasper Sandberg
2007-04-28 20:45 ` Lee Revell
2007-04-29 1:18 ` Kasper Sandberg
2007-04-29 5:30 ` Willy Tarreau
2007-04-29 6:45 ` Mike Galbraith
2007-04-29 6:59 ` Ingo Molnar
2007-04-29 7:16 ` Willy Tarreau
2007-04-29 7:30 ` Ingo Molnar
2007-04-29 7:38 ` Willy Tarreau
2007-04-29 8:00 ` Ingo Molnar
2007-04-29 8:02 ` Willy Tarreau
2007-04-29 9:52 ` Con Kolivas
2007-04-29 10:19 ` Mike Galbraith
2007-04-29 7:54 ` William Lee Irwin III
2007-04-29 8:03 ` Ingo Molnar
2007-04-29 8:16 ` William Lee Irwin III
2007-04-29 8:13 ` Willy Tarreau
2007-04-29 8:58 ` William Lee Irwin III
2007-04-29 8:11 ` Mike Galbraith
2007-04-29 10:30 ` Thomas Gleixner
2007-04-29 10:33 ` William Lee Irwin III
2007-04-29 10:48 ` Kasper Sandberg
2007-04-29 11:25 ` Thomas Gleixner
2007-04-29 10:53 ` Con Kolivas
2007-04-29 11:11 ` Bill Huey
2007-04-29 11:50 ` Thomas Gleixner
2007-04-29 11:11 ` Willy Tarreau
2007-04-29 11:46 ` Con Kolivas
2007-04-29 12:09 ` Paolo Ciarrocchi
2007-04-29 15:39 ` Gene Heskett
2007-04-29 11:59 ` Thomas Gleixner
2007-04-29 12:25 ` Willy Tarreau
2007-04-29 12:00 ` Kasper Sandberg
2007-04-29 12:13 ` Thomas Gleixner
2007-04-29 12:21 ` Kasper Sandberg
2007-04-29 12:55 ` William Lee Irwin III
2007-04-29 13:37 ` Thomas Gleixner
2007-05-01 7:55 ` Nick Piggin
2007-05-01 13:00 ` William Lee Irwin III
2007-04-29 20:30 ` Mark Lord
2007-04-29 15:28 ` Gene Heskett
2007-04-29 7:59 ` Kasper Sandberg
2007-04-29 8:05 ` Ingo Molnar
2007-04-29 15:42 ` Ray Lee
2007-04-29 17:09 ` Kasper Sandberg
2007-04-29 6:47 ` Ingo Molnar
[not found] ` <20070429170908.GA31417@elte.hu>
[not found] ` <20070429173902.GA4349@elte.hu>
2007-04-30 17:45 ` 3d smoothness (was: Re: [patch] CFS scheduler, -v6) Kasper Sandberg
2007-04-30 20:17 ` Ingo Molnar
2007-04-30 20:44 ` Kasper Sandberg
2007-04-27 12:52 ` [patch] CFS scheduler, -v6 William Lee Irwin III
2007-04-27 13:02 ` Ingo Molnar
2007-04-27 21:16 ` Lee Revell
2007-04-26 22:48 ` Con Kolivas
2007-04-27 0:39 ` Gene Heskett
2007-04-27 0:57 ` Con Kolivas
2007-04-27 1:03 ` Gene Heskett
2007-04-27 20:54 ` Bill Davidsen
2007-04-26 16:05 ` Mike Galbraith
2007-04-26 19:27 ` Thomas Gleixner
2007-04-26 19:35 ` Ingo Molnar
2007-04-26 19:42 ` Thomas Gleixner
2007-04-26 20:11 ` Ingo Molnar
2007-04-27 13:19 ` Mark Lord
2007-04-27 13:22 ` Mark Lord
2007-04-27 13:45 ` Ingo Molnar
2007-04-28 12:45 ` Srivatsa Vaddagiri
2007-04-28 13:53 ` Ingo Molnar
2007-04-28 15:23 ` Srivatsa Vaddagiri [this message]
2007-04-28 15:22 ` Ingo Molnar
2007-04-28 15:28 ` Srivatsa Vaddagiri
-- strict thread matches above, loose matches on Subject: below --
2007-04-27 21:59 Art Haas
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=20070428152327.GE14716@in.ibm.com \
--to=vatsa@in.ibm.com \
--cc=akpm@linux-foundation.org \
--cc=arjan@infradead.org \
--cc=buddabrod@gmail.com \
--cc=caglar@pardus.org.tr \
--cc=efault@gmx.de \
--cc=gene.heskett@gmail.com \
--cc=kernel@kolivas.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux@zachcarter.com \
--cc=lkml@rtr.ca \
--cc=mingo@elte.hu \
--cc=npiggin@suse.de \
--cc=pwil3058@bigpond.net.au \
--cc=tglx@linutronix.de \
--cc=torvalds@linux-foundation.org \
--cc=w@1wt.eu \
/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