From: Jason Low <jason.low2@hp.com>
To: Morten Rasmussen <morten.rasmussen@arm.com>
Cc: Preeti U Murthy <preeti@linux.vnet.ibm.com>,
Peter Zijlstra <peterz@infradead.org>,
"mingo@kernel.org" <mingo@kernel.org>,
"riel@redhat.com" <riel@redhat.com>,
"daniel.lezcano@linaro.org" <daniel.lezcano@linaro.org>,
"vincent.guittot@linaro.org" <vincent.guittot@linaro.org>,
"srikar@linux.vnet.ibm.com" <srikar@linux.vnet.ibm.com>,
"pjt@google.com" <pjt@google.com>,
"benh@kernel.crashing.org" <benh@kernel.crashing.org>,
"efault@gmx.de" <efault@gmx.de>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
"iamjoonsoo.kim@lge.com" <iamjoonsoo.kim@lge.com>,
"svaidy@linux.vnet.ibm.com" <svaidy@linux.vnet.ibm.com>,
"tim.c.chen@linux.intel.com" <tim.c.chen@linux.intel.com>,
jason.low2@hp.com
Subject: Re: [PATCH V2] sched: Improve load balancing in the presence of idle CPUs
Date: Wed, 01 Apr 2015 17:55:26 -0700 [thread overview]
Message-ID: <1427936126.2556.10.camel@j-VirtualBox> (raw)
In-Reply-To: <20150401130355.GW18994@e105550-lin.cambridge.arm.com>
On Wed, 2015-04-01 at 14:03 +0100, Morten Rasmussen wrote:
Hi Morten,
> > Alright I see. But it is one additional wake up. And the wake up will be
> > within the cluster. We will not wake up any CPU in the neighboring
> > cluster unless there are tasks to be pulled. So, we can wake up a core
> > out of a deep idle state and never a cluster in the problem described.
> > In terms of energy efficiency, this is not so bad a scenario, is it?
>
> After Peter pointed out that it shouldn't happen across clusters due to
> group_classify()/sg_capacity_factor() it isn't as bad as I initially
> thought. It is still not an ideal solution I think. Wake-ups aren't nice
> for battery-powered devices. Waking up a cpu in an already active
> cluster may still imply powering up the core and bringing the L1 cache
> into a usable state, but it isn't as bad as waking up a cluster. I would
> prefer to avoid it if we can.
Right. I still think that the patch is justified if it addresses the 10
second latency issue, but if we could find a better solution, that would
be great :)
> Thinking more about it, don't we also risk doing a lot of iterations in
> nohz_idle_balance() leading to nothing (pure overhead) in certain corner
> cases? If find_new_ild() is the last cpu in the cluster and we have one
> task for each cpu in the cluster but one cpu is currently having two.
> Don't we end up trying all nohz-idle cpus before giving up and balancing
> the balancer cpu itself. On big machines, going through everyone could
> take a while I think. No?
Iterating through many CPUs could take a while, but since we only do
nohz_idle_balance() when the CPU is idle and exit if need_resched, then
we're only doing so if there is nothing else that needs to run.
Also, we're only attempting balancing when time_after_eq
rq->next_balance, so much of the time, we don't actually traverse all
the CPUs.
So this may not be too big of an issue.
next prev parent reply other threads:[~2015-04-02 0:57 UTC|newest]
Thread overview: 33+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-03-26 13:02 [PATCH V2] sched: Improve load balancing in the presence of idle CPUs Preeti U Murthy
2015-03-26 17:03 ` Jason Low
2015-03-27 2:12 ` Wanpeng Li
2015-03-27 4:33 ` Preeti U Murthy
2015-03-27 4:23 ` Wanpeng Li
2015-03-27 5:01 ` Jason Low
2015-03-27 5:07 ` Jason Low
2015-03-27 5:39 ` Srikar Dronamraju
2015-03-27 7:00 ` Wanpeng Li
2015-03-27 6:43 ` Wanpeng Li
2015-03-27 16:23 ` Preeti U Murthy
2015-03-27 11:43 ` [tip:sched/core] " tip-bot for Preeti U Murthy
2015-03-27 13:03 ` [PATCH V2] " Srikar Dronamraju
2015-03-27 14:38 ` Morten Rasmussen
2015-03-27 16:46 ` Preeti U Murthy
2015-03-27 17:56 ` Morten Rasmussen
2015-03-30 7:26 ` Preeti U Murthy
2015-03-30 11:30 ` Morten Rasmussen
2015-03-30 11:06 ` Peter Zijlstra
2015-03-30 12:03 ` Morten Rasmussen
2015-03-30 12:24 ` Peter Zijlstra
2015-03-30 12:54 ` Peter Zijlstra
2015-03-30 13:29 ` Vincent Guittot
2015-03-30 14:01 ` Peter Zijlstra
2015-03-30 15:27 ` Morten Rasmussen
2015-03-31 8:58 ` Preeti U Murthy
2015-03-31 17:30 ` Jason Low
2015-04-01 6:28 ` Preeti U Murthy
2015-04-01 13:03 ` Morten Rasmussen
2015-04-02 0:55 ` Jason Low [this message]
2015-04-02 3:22 ` Preeti U Murthy
2015-03-30 13:45 ` Vincent Guittot
2015-03-31 8:06 ` Preeti U Murthy
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=1427936126.2556.10.camel@j-VirtualBox \
--to=jason.low2@hp.com \
--cc=benh@kernel.crashing.org \
--cc=daniel.lezcano@linaro.org \
--cc=efault@gmx.de \
--cc=iamjoonsoo.kim@lge.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@kernel.org \
--cc=morten.rasmussen@arm.com \
--cc=peterz@infradead.org \
--cc=pjt@google.com \
--cc=preeti@linux.vnet.ibm.com \
--cc=riel@redhat.com \
--cc=srikar@linux.vnet.ibm.com \
--cc=svaidy@linux.vnet.ibm.com \
--cc=tim.c.chen@linux.intel.com \
--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.