From: "Dmitry Adamushko" <dmitry.adamushko@gmail.com>
To: "Micah Dowty" <micah@vmware.com>
Cc: "Ingo Molnar" <mingo@elte.hu>,
"Christoph Lameter" <clameter@sgi.com>,
"Kyle Moffett" <mrmacman_g4@mac.com>,
"Cyrus Massoumi" <cyrusm@gmx.net>,
"LKML Kernel" <linux-kernel@vger.kernel.org>,
"Andrew Morton" <akpm@osdl.org>, "Mike Galbraith" <efault@gmx.de>,
"Paul Menage" <menage@google.com>,
"Peter Williams" <pwil3058@bigpond.net.au>
Subject: Re: High priority tasks break SMP balancer?
Date: Tue, 20 Nov 2007 22:47:52 +0100 [thread overview]
Message-ID: <b647ffbd0711201347tedf7ac0sc6476118353feab3@mail.gmail.com> (raw)
In-Reply-To: <20071120180643.GD4736@vmware.com>
[-- Attachment #1: Type: text/plain, Size: 2418 bytes --]
On 20/11/2007, Micah Dowty <micah@vmware.com> wrote:
> On Tue, Nov 20, 2007 at 06:57:55AM +0100, Ingo Molnar wrote:
> >
> > * Micah Dowty <micah@vmware.com> wrote:
> >
> > > > this one is being triggered whenever a cpu becomes idle (schedule()
> > > > --> idle_balance() --> load_balance_newidle()).
> > > >
> > > > (this flag is a bit #1 == 2)
> > > >
> > > > cat /proc/sys/kernel/sched_domain/cpu0/domain0/flags
> > >
> > > Hmm. I don't have this file on my system:
> > >
> > > root@micah-64:/proc/sys/kernel/sched_domain/cpu0/domain0# ls
> > > busy_factor busy_idx forkexec_idx idle_idx imbalance_pct max_interval min_interval newidle_idx wake_idx
> > > root@micah-64:/proc/sys/kernel/sched_domain/cpu0/domain0# uname -a
> > > Linux micah-64 2.6.23.1 #1 SMP Fri Nov 2 12:25:47 PDT 2007 x86_64 GNU/Linux
> > >
> > > Is there a config option I'm missing?
> >
> > yes, CONFIG_SCHED_DEBUG.
>
> I have that one. I even posted the /proc/sched_debug output :)
ah ok, try applying this patch on top of 2.6.23.1.
btw., what's your system? If I recall right, SD_BALANCE_NEWIDLE is on
by default for all configs, except for NUMA nodes.
(attached a white-space non-damaged version)
---
--- kernel/sched.c-old 2007-11-20 22:33:22.000000000 +0100
+++ kernel/sched.c 2007-11-20 22:37:07.000000000 +0100
@@ -5306,7 +5306,7 @@ set_table_entry(struct ctl_table *entry,
static struct ctl_table *
sd_alloc_ctl_domain_table(struct sched_domain *sd)
{
- struct ctl_table *table = sd_alloc_ctl_entry(14);
+ struct ctl_table *table = sd_alloc_ctl_entry(12);
set_table_entry(&table[0], "min_interval", &sd->min_interval,
sizeof(long), 0644, proc_doulongvec_minmax);
@@ -5326,10 +5326,10 @@ sd_alloc_ctl_domain_table(struct sched_d
sizeof(int), 0644, proc_dointvec_minmax);
set_table_entry(&table[8], "imbalance_pct", &sd->imbalance_pct,
sizeof(int), 0644, proc_dointvec_minmax);
- set_table_entry(&table[10], "cache_nice_tries",
+ set_table_entry(&table[9], "cache_nice_tries",
&sd->cache_nice_tries,
sizeof(int), 0644, proc_dointvec_minmax);
- set_table_entry(&table[12], "flags", &sd->flags,
+ set_table_entry(&table[10], "flags", &sd->flags,
sizeof(int), 0644, proc_dointvec_minmax);
return table;
---
>
> --Micah
>
>
--
Best regards,
Dmitry Adamushko
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: sd_alloc.patch --]
[-- Type: text/x-patch; name=sd_alloc.patch, Size: 1033 bytes --]
--- kernel/sched.c-old 2007-11-20 22:33:22.000000000 +0100
+++ kernel/sched.c 2007-11-20 22:37:07.000000000 +0100
@@ -5306,7 +5306,7 @@ set_table_entry(struct ctl_table *entry,
static struct ctl_table *
sd_alloc_ctl_domain_table(struct sched_domain *sd)
{
- struct ctl_table *table = sd_alloc_ctl_entry(14);
+ struct ctl_table *table = sd_alloc_ctl_entry(12);
set_table_entry(&table[0], "min_interval", &sd->min_interval,
sizeof(long), 0644, proc_doulongvec_minmax);
@@ -5326,10 +5326,10 @@ sd_alloc_ctl_domain_table(struct sched_d
sizeof(int), 0644, proc_dointvec_minmax);
set_table_entry(&table[8], "imbalance_pct", &sd->imbalance_pct,
sizeof(int), 0644, proc_dointvec_minmax);
- set_table_entry(&table[10], "cache_nice_tries",
+ set_table_entry(&table[9], "cache_nice_tries",
&sd->cache_nice_tries,
sizeof(int), 0644, proc_dointvec_minmax);
- set_table_entry(&table[12], "flags", &sd->flags,
+ set_table_entry(&table[10], "flags", &sd->flags,
sizeof(int), 0644, proc_dointvec_minmax);
return table;
next prev parent reply other threads:[~2007-11-20 21:48 UTC|newest]
Thread overview: 35+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-11-09 22:34 Micah Dowty
2007-11-09 23:56 ` Cyrus Massoumi
2007-11-10 0:11 ` Micah Dowty
2007-11-14 18:39 ` Micah Dowty
2007-11-15 18:48 ` Kyle Moffett
2007-11-15 19:14 ` Micah Dowty
2007-11-15 20:07 ` Christoph Lameter
2007-11-15 20:24 ` Micah Dowty
2007-11-15 21:28 ` Christoph Lameter
2007-11-15 21:35 ` Micah Dowty
2007-11-16 2:31 ` Christoph Lameter
2007-11-16 2:44 ` Micah Dowty
2007-11-16 6:07 ` Ingo Molnar
2007-11-16 9:19 ` Micah Dowty
2007-11-16 10:45 ` Ingo Molnar
2007-11-16 10:48 ` Micah Dowty
2007-11-16 22:12 ` Christoph Lameter
2007-11-16 10:48 ` Dmitry Adamushko
2007-11-16 22:14 ` Micah Dowty
2007-11-16 23:26 ` Dmitry Adamushko
2007-11-17 1:03 ` Micah Dowty
2007-11-17 19:10 ` Dmitry Adamushko
2007-11-19 18:51 ` Micah Dowty
2007-11-19 22:22 ` Dmitry Adamushko
2007-11-19 23:05 ` Micah Dowty
2007-11-20 5:57 ` Ingo Molnar
2007-11-20 18:06 ` Micah Dowty
2007-11-20 21:47 ` Dmitry Adamushko [this message]
2007-11-22 7:46 ` Micah Dowty
2007-11-22 12:53 ` Dmitry Adamushko
2007-11-26 19:44 ` Micah Dowty
2007-11-27 9:21 ` Dmitry Adamushko
2007-11-27 17:13 ` Micah Dowty
2007-11-16 19:13 ` David Newall
2007-11-16 21:38 ` Micah Dowty
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=b647ffbd0711201347tedf7ac0sc6476118353feab3@mail.gmail.com \
--to=dmitry.adamushko@gmail.com \
--cc=akpm@osdl.org \
--cc=clameter@sgi.com \
--cc=cyrusm@gmx.net \
--cc=efault@gmx.de \
--cc=linux-kernel@vger.kernel.org \
--cc=menage@google.com \
--cc=micah@vmware.com \
--cc=mingo@elte.hu \
--cc=mrmacman_g4@mac.com \
--cc=pwil3058@bigpond.net.au \
/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