Re: [PATCH RFC] sched,idle: teach select_idle_sibling about idle states

2014-10-09 Thread Peter Zijlstra
On Fri, Oct 03, 2014 at 11:37:31AM -0400, Rik van Riel wrote: > Some more brainstorming points... > > 1) We should probably (lazily/batched?) propagate load information >up the sched_group tree. This will be useful for wake_affine, >load_balancing, find_idlest_cpu, and select_idle_sibling

Re: [PATCH RFC] sched,idle: teach select_idle_sibling about idle states

2014-10-03 Thread Nicolas Pitre
On Fri, 3 Oct 2014, Rik van Riel wrote: > We have 3 different goals when selecting a runqueue for a task: > 1) locality: get the task running close to where it has stuff cached > 2) work preserving: get the task running ASAP, and preferably on a >fully idle core > 3) idle state latency: place

Re: [PATCH RFC] sched,idle: teach select_idle_sibling about idle states

2014-10-03 Thread Rik van Riel
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 On 10/03/2014 10:46 AM, Peter Zijlstra wrote: > On Fri, Oct 03, 2014 at 10:28:42AM -0400, Rik van Riel wrote: >> The current code has the potential to be quite painful on systems >> with a large number of cores per chip, so we will have to change >> t

Re: [PATCH RFC] sched,idle: teach select_idle_sibling about idle states

2014-10-03 Thread Peter Zijlstra
On Fri, Oct 03, 2014 at 10:28:42AM -0400, Rik van Riel wrote: > We have 3 different goals when selecting a runqueue for a task: > 1) locality: get the task running close to where it has stuff cached > 2) work preserving: get the task running ASAP, and preferably on a >fully idle core > 3) idle

Re: [PATCH RFC] sched,idle: teach select_idle_sibling about idle states

2014-10-03 Thread Rik van Riel
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 On 10/03/2014 03:50 AM, Peter Zijlstra wrote: > On Fri, Oct 03, 2014 at 08:23:04AM +0200, Mike Galbraith wrote: >> On Thu, 2014-10-02 at 13:15 -0400, Rik van Riel wrote: >> >>> Subject: sched,idle: teach select_idle_sibling about idle >>> states >>>

Re: [PATCH RFC] sched,idle: teach select_idle_sibling about idle states

2014-10-03 Thread Mike Galbraith
On Fri, 2014-10-03 at 09:50 +0200, Peter Zijlstra wrote: > On Fri, Oct 03, 2014 at 08:23:04AM +0200, Mike Galbraith wrote: > > A generic boo hiss aimed in the general direction of all of this let's > > go look at every possibility on every wakeup stuff. Less is more. > > I hear you, can you see

Re: [PATCH RFC] sched,idle: teach select_idle_sibling about idle states

2014-10-03 Thread Peter Zijlstra
On Fri, Oct 03, 2014 at 08:23:04AM +0200, Mike Galbraith wrote: > On Thu, 2014-10-02 at 13:15 -0400, Rik van Riel wrote: > > > Subject: sched,idle: teach select_idle_sibling about idle states > > > > Change select_idle_sibling to take cpu idle exit latency into > > account. First preference is t

Re: [PATCH RFC] sched,idle: teach select_idle_sibling about idle states

2014-10-02 Thread Mike Galbraith
On Thu, 2014-10-02 at 13:15 -0400, Rik van Riel wrote: > Subject: sched,idle: teach select_idle_sibling about idle states > > Change select_idle_sibling to take cpu idle exit latency into > account. First preference is to select the cpu with the lowest > exit latency from a completely idle sched

Re: [PATCH RFC] sched,idle: teach select_idle_sibling about idle states

2014-10-02 Thread Mike Galbraith
On Thu, 2014-10-02 at 13:15 -0400, Rik van Riel wrote: > This patch is ugly. I have not bothered cleaning it up, because it > causes a regression with hackbench. Apparently for hackbench (and > potentially other sync wakeups), locality is more important than > idleness. > > We may need to add a t

[PATCH RFC] sched,idle: teach select_idle_sibling about idle states

2014-10-02 Thread Rik van Riel
On Tue, 30 Sep 2014 19:15:00 -0400 (EDT) Nicolas Pitre wrote: > On Tue, 30 Sep 2014, Rik van Riel wrote: > > The main thing it does not cover is already running tasks that > > get woken up again, since select_idle_sibling() covers everything > > except for newly forked and newly executed tasks. >