* Performance regression in 2.6.22-git1 (new sched code?)
@ 2007-07-10 17:37 Martin Bligh
2007-07-10 19:20 ` Andy Whitcroft
2007-07-10 21:09 ` Ingo Molnar
0 siblings, 2 replies; 4+ messages in thread
From: Martin Bligh @ 2007-07-10 17:37 UTC (permalink / raw)
To: LKML; +Cc: Ingo Molnar
~ 1% on 4-way x86_64
http://test.kernel.org/perf/kernbench.elm3b6.png
~ 4% on 16-way NUMA-Q (i386)
http://test.kernel.org/perf/kernbench.moe.png
~ 1.5% on 4-way i386
http://test.kernel.org/perf/kernbench.elm3b132.png
There's readprofiles and stuff available from here:
http://test.kernel.org/functional/index.html
if you drill down under the tests marked "regression", eg.
http://test.kernel.org/abat/98796/002.kernbench.test/profiling/profile.text
M.
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: Performance regression in 2.6.22-git1 (new sched code?)
2007-07-10 17:37 Performance regression in 2.6.22-git1 (new sched code?) Martin Bligh
@ 2007-07-10 19:20 ` Andy Whitcroft
2007-07-10 21:09 ` Ingo Molnar
1 sibling, 0 replies; 4+ messages in thread
From: Andy Whitcroft @ 2007-07-10 19:20 UTC (permalink / raw)
To: Ingo Molnar; +Cc: Martin Bligh, LKML
Martin Bligh wrote:
> ~ 1% on 4-way x86_64
>
> http://test.kernel.org/perf/kernbench.elm3b6.png
>
> ~ 4% on 16-way NUMA-Q (i386)
>
> http://test.kernel.org/perf/kernbench.moe.png
>
> ~ 1.5% on 4-way i386
>
> http://test.kernel.org/perf/kernbench.elm3b132.png
>
> There's readprofiles and stuff available from here:
> http://test.kernel.org/functional/index.html
> if you drill down under the tests marked "regression", eg.
> http://test.kernel.org/abat/98796/002.kernbench.test/profiling/profile.text
Ok, I've done a crude comparison of a bunch of the jobs we run between
2.6.22 and 2.6.22-git1 kernbench runs, extracting the wallclock, user
and system times for each. First column is 2.6.22, second is
2.6.22-git1, third is the delta. +ve bad, -ve good. Note that I have
hand correlated these jobs so error is possible, but it matches Martin's
figures I belive.
bl6-13
User 85.14 88.53 3.99
System 34.16 34.71 1.60
Total 119.30 123.24 3.30
elm3b132
User 2397.82 2431.95 1.42
System 207.41 206.78 -0.30
Total 2605.23 2638.73 1.29
elm3b6
User 352.18 357.18 1.42
System 37.06 36.61 -1.22
Total 389.24 393.79 1.17
oia5-hs20
User 645.02 653.47 1.31
System 49.30 52.45 6.37
Total 694.33 705.92 1.67
elm3b239
User 878.21 950.80 8.27
System 416.06 348.76 -16.18
Total 1294.27 1299.56 0.41
-apw
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: Performance regression in 2.6.22-git1 (new sched code?)
2007-07-10 17:37 Performance regression in 2.6.22-git1 (new sched code?) Martin Bligh
2007-07-10 19:20 ` Andy Whitcroft
@ 2007-07-10 21:09 ` Ingo Molnar
2007-07-11 17:47 ` Ingo Molnar
1 sibling, 1 reply; 4+ messages in thread
From: Ingo Molnar @ 2007-07-10 21:09 UTC (permalink / raw)
To: Martin Bligh; +Cc: LKML, Andy Whitcroft
* Martin Bligh <mbligh@mbligh.org> wrote:
> ~ 1% on 4-way x86_64
>
> http://test.kernel.org/perf/kernbench.elm3b6.png
>
> ~ 4% on 16-way NUMA-Q (i386)
>
> http://test.kernel.org/perf/kernbench.moe.png
>
> ~ 1.5% on 4-way i386
>
> http://test.kernel.org/perf/kernbench.elm3b132.png
thx! I'll check this tomorrow, meanwhile here are a few quick ideas.
1) does reverting this patch improve performance:
commit 9c4801cebc2add1fe514bc8eb201b16372eee11a
Author: Ingo Molnar <mingo@elte.hu>
Date: Mon Jul 9 18:52:01 2007 +0200
sched: more agressive idle balancing
2) does changing CONFIG_HZ=250 to CONFIG_HZ=100 improve the numbers?
CFS has some internal tuning that depends on HZ - a higher HZ is a
sign that the user wants more finegrained scheduling. So for maximum
server throughput, use CONFIG_HZ=100.
3) could you turn off CONFIG_SCHED_DEBUG? The cost is small but perhaps
measurable.
(these 3 suggestions could be tested together - they should have
cumulative effects.)
Ingo
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: Performance regression in 2.6.22-git1 (new sched code?)
2007-07-10 21:09 ` Ingo Molnar
@ 2007-07-11 17:47 ` Ingo Molnar
0 siblings, 0 replies; 4+ messages in thread
From: Ingo Molnar @ 2007-07-11 17:47 UTC (permalink / raw)
To: Martin Bligh; +Cc: LKML, Andy Whitcroft
* Ingo Molnar <mingo@elte.hu> wrote:
> > http://test.kernel.org/perf/kernbench.elm3b132.png
>
> thx! I'll check this tomorrow, meanwhile here are a few quick ideas.
ok, i've re-tested this, and could you please try the fix attached
below, combined with a CONFIG_HZ=100 run and with SCHED_DEBUG disabled?
I think a fair bit of the overhead comes from granularity being capped
to 10 msecs instead of the intended 100 msecs.
Ingo
--------------------------------------------->
Subject: [patch] sched: allow larger granularity
From: Ingo Molnar <mingo@elte.hu>
allow granularity up to 100 msecs, instead of 10 msecs.
(needed on larger boxes)
Signed-off-by: Ingo Molnar <mingo@elte.hu>
---
kernel/sched.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
Index: linux/kernel/sched.c
===================================================================
--- linux.orig/kernel/sched.c
+++ linux/kernel/sched.c
@@ -4772,7 +4772,7 @@ cpumask_t nohz_cpu_mask = CPU_MASK_NONE;
static inline void sched_init_granularity(void)
{
unsigned int factor = 1 + ilog2(num_online_cpus());
- const unsigned long gran_limit = 10000000;
+ const unsigned long gran_limit = 100000000;
sysctl_sched_granularity *= factor;
if (sysctl_sched_granularity > gran_limit)
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2007-07-11 17:48 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-07-10 17:37 Performance regression in 2.6.22-git1 (new sched code?) Martin Bligh
2007-07-10 19:20 ` Andy Whitcroft
2007-07-10 21:09 ` Ingo Molnar
2007-07-11 17:47 ` Ingo Molnar
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox