From: Nick Piggin <nickpiggin@yahoo.com.au>
To: Christoph Lameter <clameter@sgi.com>
Cc: akpm@osdl.org, Peter Williams <pwil3058@bigpond.net.au>,
linux-kernel@vger.kernel.org,
KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>,
Dave Chinner <dgc@sgi.com>, Ingo Molnar <mingo@elte.hu>,
"Siddha, Suresh B" <suresh.b.siddha@intel.com>
Subject: Re: [PATCH 3/5] Use next_balance instead of last_balance
Date: Fri, 27 Oct 2006 03:13:49 +1000 [thread overview]
Message-ID: <4540ECCD.7050700@yahoo.com.au> (raw)
In-Reply-To: <Pine.LNX.4.64.0610260924440.16978@schroedinger.engr.sgi.com>
Christoph Lameter wrote:
> On Thu, 26 Oct 2006, Nick Piggin wrote:
>
>
>>Actually, it is wrong, so nack.
>>
>>You didn't take into account that balance_interval may have changed,
>>and so might the idle status.
>
>
> Hmmmm... We change the point at which we calculate the interval relative
> to load balancing. So move it after the load balance. This also avoids
> having to do the calculation if the sched_domain has not expired.
That still doesn't take into account if the CPU goes idle/busy during
the interval.
>
> Want a new rollup/testing cycle for all of this?
>
> Index: linux-2.6.19-rc3/kernel/sched.c
> ===================================================================
> --- linux-2.6.19-rc3.orig/kernel/sched.c 2006-10-26 11:31:04.000000000 -0500
> +++ linux-2.6.19-rc3/kernel/sched.c 2006-10-26 11:41:07.129561438 -0500
> @@ -2867,15 +2867,6 @@ static void rebalance_domains(unsigned l
> if (!(sd->flags & SD_LOAD_BALANCE))
> continue;
>
> - interval = sd->balance_interval;
> - if (idle != SCHED_IDLE)
> - interval *= sd->busy_factor;
> -
> - /* scale ms to jiffies */
> - interval = msecs_to_jiffies(interval);
> - if (unlikely(!interval))
> - interval = 1;
> -
> if (jiffies >= sd->next_balance) {
> if (load_balance(this_cpu, this_rq, sd, idle)) {
> /*
> @@ -2885,6 +2876,14 @@ static void rebalance_domains(unsigned l
> */
> idle = NOT_IDLE;
> }
> + interval = sd->balance_interval;
> + if (idle != SCHED_IDLE)
> + interval *= sd->busy_factor;
> +
> + /* scale ms to jiffies */
> + interval = msecs_to_jiffies(interval);
> + if (unlikely(!interval))
> + interval = 1;
> sd->next_balance += interval;
> }
> next_balance = min(next_balance, sd->next_balance);
>
--
SUSE Labs, Novell Inc.
Send instant messages to your online friends http://au.messenger.yahoo.com
next prev parent reply other threads:[~2006-10-26 17:13 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-10-24 18:31 [PATCH 0/5] On demand sched_domain balancing in tasklet Christoph Lameter
2006-10-24 18:31 ` [PATCH 1/5] Disable interrupts for locking in load_balance() Christoph Lameter
2006-10-24 18:31 ` [PATCH 2/5] Extract load calculation from rebalance_tick Christoph Lameter
2006-10-26 12:03 ` Nick Piggin
2006-10-26 16:12 ` Christoph Lameter
2006-10-24 18:31 ` [PATCH 3/5] Use next_balance instead of last_balance Christoph Lameter
2006-10-26 12:13 ` Nick Piggin
2006-10-26 12:32 ` Nick Piggin
2006-10-26 16:44 ` Christoph Lameter
2006-10-26 17:13 ` Nick Piggin [this message]
2006-10-26 18:17 ` Christoph Lameter
2006-10-24 18:31 ` [PATCH 4/5] Create rebalance_domains from rebalance_tick Christoph Lameter
2006-10-26 12:19 ` Nick Piggin
2006-10-26 16:19 ` Christoph Lameter
2006-10-24 18:31 ` [PATCH 5/5] Only call rebalance_domains when needed from scheduler_tick Christoph Lameter
2006-10-26 12:26 ` Nick Piggin
2006-10-26 16:24 ` Christoph Lameter
2006-10-26 17:12 ` Nick Piggin
2006-10-26 18:13 ` Christoph Lameter
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=4540ECCD.7050700@yahoo.com.au \
--to=nickpiggin@yahoo.com.au \
--cc=akpm@osdl.org \
--cc=clameter@sgi.com \
--cc=dgc@sgi.com \
--cc=kamezawa.hiroyu@jp.fujitsu.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@elte.hu \
--cc=pwil3058@bigpond.net.au \
--cc=suresh.b.siddha@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