From: Peter Zijlstra <peterz@infradead.org>
To: Jason Low <jason.low2@hp.com>
Cc: Ingo Molnar <mingo@redhat.com>,
LKML <linux-kernel@vger.kernel.org>,
Mike Galbraith <efault@gmx.de>,
Thomas Gleixner <tglx@linutronix.de>,
Paul Turner <pjt@google.com>, Alex Shi <alex.shi@intel.com>,
Preeti U Murthy <preeti@linux.vnet.ibm.com>,
Vincent Guittot <vincent.guittot@linaro.org>,
Morten Rasmussen <morten.rasmussen@arm.com>,
Namhyung Kim <namhyung@kernel.org>,
Andrew Morton <akpm@linux-foundation.org>,
Kees Cook <keescook@chromium.org>, Mel Gorman <mgorman@suse.de>,
Rik van Riel <riel@redhat.com>,
aswin@hp.com, scott.norton@hp.com, chegu_vinod@hp.com
Subject: Re: [RFC] sched: Limit idle_balance() when it is being used too frequently
Date: Wed, 17 Jul 2013 18:18:15 +0200 [thread overview]
Message-ID: <20130717161815.GR23818@dyad.programming.kicks-ass.net> (raw)
In-Reply-To: <1374076741.7412.35.camel@j-VirtualBox>
On Wed, Jul 17, 2013 at 08:59:01AM -0700, Jason Low wrote:
>
> So if we have the following:
>
> for_each_domain(sd)
> before = sched_clock_cpu
> load_balance(sd)
> after = sched_clock_cpu
> idle_balance_completion_time = after - before
>
> At this point, the "idle_balance_completion_time" is usually a very
> small value and is usually a lot smaller than the avg CPU idle time.
> However, the vast majority of the time, load_balance returns 0.
I think the interesting question here is: is it significantly more when we do
find a task?
I would also expect sd->newidle_balance_cost (less typing there) to scale with the
number of CPUs in the domain - thus larger domains will take longer etc.
And (obviously) the cost of the entire newidle balance is the direct sum of
individual domain costs.
> Do you think its worth a try to consider each newidle balance attempt as
> the total load_balance attempts until it is able to move a task, and
> then skip balancing within the domain if a CPU's avg idle time is less
> than that avg time doing newidle balance?
So the way I see things is that the only way newidle balance can slow down
things is if it runs when we could have ran something useful.
So all we need to ensure is to not run longer than we expect to be idle for and
things should be 'free', right?
So the problem I have with your proposal is that supposing we're successful
once every 10 newidle balances. Then the sd->newidle_balance_cost gets inflated
by a factor 10 -- for we'd count 10 of them before 'success'.
However when we're idle for that amount of time (10 times longer than it takes
to do a single newidle balance) we'd still only do a single newidle balance,
not 10.
next prev parent reply other threads:[~2013-07-17 16:19 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-07-16 19:21 [RFC] sched: Limit idle_balance() when it is being used too frequently Jason Low
2013-07-16 19:27 ` Rik van Riel
2013-07-16 20:20 ` Peter Zijlstra
2013-07-16 22:48 ` Jason Low
2013-07-17 7:25 ` Peter Zijlstra
2013-07-17 7:48 ` Peter Zijlstra
2013-07-17 8:11 ` Jason Low
2013-07-17 9:39 ` Peter Zijlstra
2013-07-17 15:59 ` Jason Low
2013-07-17 16:18 ` Peter Zijlstra [this message]
2013-07-17 17:51 ` Rik van Riel
2013-07-17 18:01 ` Peter Zijlstra
2013-07-17 18:48 ` Jason Low
2013-07-18 4:02 ` Jason Low
2013-07-18 9:32 ` Peter Zijlstra
2013-07-18 11:59 ` Rik van Riel
2013-07-18 12:15 ` Srikar Dronamraju
2013-07-18 12:35 ` Peter Zijlstra
2013-07-18 13:06 ` Srikar Dronamraju
2013-07-18 19:06 ` Jason Low
2013-07-19 18:37 ` Peter Zijlstra
2013-07-19 19:15 ` Jason Low
2013-07-18 12:12 ` Srikar Dronamraju
2013-07-18 19:03 ` Jason Low
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=20130717161815.GR23818@dyad.programming.kicks-ass.net \
--to=peterz@infradead.org \
--cc=akpm@linux-foundation.org \
--cc=alex.shi@intel.com \
--cc=aswin@hp.com \
--cc=chegu_vinod@hp.com \
--cc=efault@gmx.de \
--cc=jason.low2@hp.com \
--cc=keescook@chromium.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mgorman@suse.de \
--cc=mingo@redhat.com \
--cc=morten.rasmussen@arm.com \
--cc=namhyung@kernel.org \
--cc=pjt@google.com \
--cc=preeti@linux.vnet.ibm.com \
--cc=riel@redhat.com \
--cc=scott.norton@hp.com \
--cc=tglx@linutronix.de \
--cc=vincent.guittot@linaro.org \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.