From: Peter Zijlstra <a.p.zijlstra@chello.nl>
To: "Zhang, Yanmin" <yanmin_zhang@linux.intel.com>
Cc: Ingo Molnar <mingo@elte.hu>, LKML <linux-kernel@vger.kernel.org>
Subject: Re: aim7 -30% regression in 2.6.24-rc1
Date: Wed, 31 Oct 2007 11:30:39 +0100 [thread overview]
Message-ID: <1193826639.27652.113.camel@twins> (raw)
In-Reply-To: <1193824668.3019.236.camel@ymzhang>
[-- Attachment #1: Type: text/plain, Size: 3323 bytes --]
On Wed, 2007-10-31 at 17:57 +0800, Zhang, Yanmin wrote:
> On Tue, 2007-10-30 at 16:36 +0800, Zhang, Yanmin wrote:
> > On Tue, 2007-10-30 at 08:26 +0100, Ingo Molnar wrote:
> > > * Zhang, Yanmin <yanmin_zhang@linux.intel.com> wrote:
> > >
> > > > sub-bisecting captured patch
> > > > 38ad464d410dadceda1563f36bdb0be7fe4c8938(sched: uniform tunings)
> > > > caused 20% regression of aim7.
> > > >
> > > > The last 10% should be also related to sched parameters, such like
> > > > sysctl_sched_min_granularity.
> > >
> > > ah, interesting. Since you have CONFIG_SCHED_DEBUG enabled, could you
> > > please try to figure out what the best value for
> > > /proc/sys/kernel_sched_latency, /proc/sys/kernel_sched_nr_latency and
> > > /proc/sys/kernel_sched_min_granularity is?
> > >
> > > there's a tuning constraint for kernel_sched_nr_latency:
> > >
> > > - kernel_sched_nr_latency should always be set to
> > > kernel_sched_latency/kernel_sched_min_granularity. (it's not a free
> > > tunable)
> > >
> > > i suspect a good approach would be to double the value of
> > > kernel_sched_latency and kernel_sched_nr_latency in each tuning
> > > iteration, while keeping kernel_sched_min_granularity unchanged. That
> > > will excercise the tuning values of the 2.6.23 kernel as well.
> > I followed your idea to test 2.6.24-rc1. The improvement is slow.
> > When sched_nr_latency=2560 and sched_latency_ns=640000000, the performance
> > is still about 15% less than 2.6.23.
>
> I got the aim7 30% regression on my new upgraded stoakley machine. I found
> this mahcine is slower than the old one. Maybe BIOS has issues, or memeory(Might not
> be dual-channel?) is slow. So I retested it on the old machine and found on the old
> stoakley machine, the regression is about 6%, quite similiar to the regression on tigerton
> machine.
>
> By sched_nr_latency=640 and sched_latency_ns=640000000 on the old stoakley machine,
> the regression becomes about 2%. Other latency has more regression.
>
> On my tulsa machine, by sched_nr_latency=640 and sched_latency_ns=640000000,
> the regression becomes less than 1% (The original regression is about 20%).
>
> When I ran a bad script to change the values of sched_nr_latency and sched_latency_ns,
> I hit OOPS on my tulsa machine. Below is the log. It looks like sched_nr_latency becomes
> 0.
Oops, yeah I think I overlooked that case :-/
I think limiting the sysctl parameters make most sense, as a 0 value
really doesn't.
Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
---
diff --git a/kernel/sysctl.c b/kernel/sysctl.c
index 3b4efbe..0f34c91 100644
--- a/kernel/sysctl.c
+++ b/kernel/sysctl.c
@@ -94,6 +94,7 @@ static int two = 2;
static int zero;
static int one_hundred = 100;
+static int int_max = INT_MAX;
/* this is needed for the proc_dointvec_minmax for [fs_]overflow UID and GID */
static int maxolduid = 65535;
@@ -239,7 +240,10 @@ static struct ctl_table kern_table[] = {
.data = &sysctl_sched_nr_latency,
.maxlen = sizeof(unsigned int),
.mode = 0644,
- .proc_handler = &proc_dointvec,
+ .proc_handler = &proc_dointvec_minmax,
+ .strategy = &sysctl_intvec,
+ .extra1 = &one,
+ .extra2 = &int_max,
},
{
.ctl_name = CTL_UNNUMBERED,
[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 189 bytes --]
next prev parent reply other threads:[~2007-10-31 10:30 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-10-26 9:43 aim7 -30% regression in 2.6.24-rc1 Zhang, Yanmin
2007-10-26 9:53 ` Peter Zijlstra
2007-10-29 0:15 ` Zhang, Yanmin
2007-10-26 11:23 ` Ingo Molnar
2007-10-29 2:22 ` Zhang, Yanmin
2007-10-29 9:37 ` Zhang, Yanmin
2007-10-30 2:12 ` Zhang, Yanmin
2007-10-30 7:26 ` Ingo Molnar
2007-10-30 8:36 ` Zhang, Yanmin
2007-10-31 9:57 ` Zhang, Yanmin
2007-10-31 10:30 ` Peter Zijlstra [this message]
2007-11-01 8:58 ` Ingo Molnar
[not found] ` <1193922687.27652.279.camel@twins>
[not found] ` <20071101150049.GB4044@elte.hu>
2007-11-01 15:29 ` Peter Zijlstra
2007-11-01 15:36 ` Ingo Molnar
2007-11-01 9:34 ` Zhang, Yanmin
2007-11-01 10:02 ` Cyrus Massoumi
2007-11-05 1:24 ` Zhang, Yanmin
2007-11-05 9:37 ` Cyrus Massoumi
2007-11-07 5:30 ` Zhang, Yanmin
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=1193826639.27652.113.camel@twins \
--to=a.p.zijlstra@chello.nl \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@elte.hu \
--cc=yanmin_zhang@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