public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
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 

  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