Re: [patch] sched: beef up wake_wide()

2015-07-15 Thread Josef Bacik
On 07/14/2015 01:59 PM, Mike Galbraith wrote: On Tue, 2015-07-14 at 12:01 -0400, Josef Bacik wrote: We happy with this or should I wait for more patches to fly by before I test something ;)? Yeah, it should be The End time. It's showing the same thing as one of the many earlier patches, it'

Re: [patch] sched: beef up wake_wide()

2015-07-14 Thread Mike Galbraith
On Tue, 2015-07-14 at 12:01 -0400, Josef Bacik wrote: > We happy with this or should I wait for more patches to fly by before I > test something ;)? Yeah, it should be The End time. -Mike -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a messa

Re: [patch] sched: beef up wake_wide()

2015-07-14 Thread Josef Bacik
On 07/14/2015 11:39 AM, Mike Galbraith wrote: On Tue, 2015-07-14 at 17:04 +0200, Peter Zijlstra wrote: On Tue, Jul 14, 2015 at 04:17:46PM +0200, Mike Galbraith wrote: There's a buglet, We'll not look for a idle cpu when wake_wide() naks want_affine. *sigh* indeed.. fixing that'll bring us

Re: [patch] sched: beef up wake_wide()

2015-07-14 Thread Mike Galbraith
On Tue, 2015-07-14 at 17:04 +0200, Peter Zijlstra wrote: > On Tue, Jul 14, 2015 at 04:17:46PM +0200, Mike Galbraith wrote: > > There's a buglet, > > > We'll not look for a idle cpu when wake_wide() naks want_affine. > > *sigh* indeed.. fixing that'll bring us very close to what we started > out

Re: [patch] sched: beef up wake_wide()

2015-07-14 Thread Peter Zijlstra
On Tue, Jul 14, 2015 at 04:17:46PM +0200, Mike Galbraith wrote: > There's a buglet, > We'll not look for a idle cpu when wake_wide() naks want_affine. *sigh* indeed.. fixing that'll bring us very close to what we started out wiht.. The one XXX there raises the question on whether we should alwa

Re: [patch] sched: beef up wake_wide()

2015-07-14 Thread Mike Galbraith
On Tue, 2015-07-14 at 16:07 +0200, Peter Zijlstra wrote: > On Tue, Jul 14, 2015 at 03:49:17PM +0200, Mike Galbraith wrote: > > On Tue, 2015-07-14 at 13:19 +0200, Peter Zijlstra wrote: > > > > > OK, how about something like the below; it tightens things up by > > > applying two rules: > > > > > >

Re: [patch] sched: beef up wake_wide()

2015-07-14 Thread Peter Zijlstra
On Tue, Jul 14, 2015 at 03:49:17PM +0200, Mike Galbraith wrote: > On Tue, 2015-07-14 at 13:19 +0200, Peter Zijlstra wrote: > > > OK, how about something like the below; it tightens things up by > > applying two rules: > > > > - We really should not continue looking for a balancing domain once >

Re: [patch] sched: beef up wake_wide()

2015-07-14 Thread Mike Galbraith
On Tue, 2015-07-14 at 13:19 +0200, Peter Zijlstra wrote: > OK, how about something like the below; it tightens things up by > applying two rules: > > - We really should not continue looking for a balancing domain once >SD_LOAD_BALANCE is not set. > > - SD (balance) flags should really be s

Re: [patch] sched: beef up wake_wide()

2015-07-14 Thread Peter Zijlstra
On Sat, Jul 11, 2015 at 05:11:51AM +0200, Mike Galbraith wrote: > On Fri, 2015-07-10 at 16:59 -0400, Josef Bacik wrote: > > > Not quite as awesome but still better than the baseline so we're good. > > Thanks, > > I personally like the other much better. We're not doing the user any > favor by m

Re: [patch] sched: beef up wake_wide()

2015-07-13 Thread Josef Bacik
On 07/10/2015 11:11 PM, Mike Galbraith wrote: On Fri, 2015-07-10 at 16:59 -0400, Josef Bacik wrote: Not quite as awesome but still better than the baseline so we're good. Thanks, I personally like the other much better. We're not doing the user any favor by making the thing balance when SD_B

Re: [patch] sched: beef up wake_wide()

2015-07-10 Thread Mike Galbraith
On Fri, 2015-07-10 at 16:59 -0400, Josef Bacik wrote: > Not quite as awesome but still better than the baseline so we're good. > Thanks, I personally like the other much better. We're not doing the user any favor by making the thing balance when SD_BALANCE_WAKE is set. Until such time as it ce

Re: [patch] sched: beef up wake_wide()

2015-07-10 Thread Josef Bacik
On 07/10/2015 01:19 AM, Mike Galbraith wrote: On Thu, 2015-07-09 at 15:26 +0200, Peter Zijlstra wrote: On Wed, Jul 08, 2015 at 08:13:46AM +0200, Mike Galbraith wrote: static int wake_wide(struct task_struct *p) { + unsigned int waker_flips = current->wakee_flips; + unsigned int

Re: [patch] sched: beef up wake_wide()

2015-07-10 Thread Josef Bacik
On 07/10/2015 01:19 AM, Mike Galbraith wrote: On Thu, 2015-07-09 at 15:26 +0200, Peter Zijlstra wrote: On Wed, Jul 08, 2015 at 08:13:46AM +0200, Mike Galbraith wrote: static int wake_wide(struct task_struct *p) { + unsigned int waker_flips = current->wakee_flips; + unsigned int

Re: [patch] sched: beef up wake_wide()

2015-07-09 Thread Mike Galbraith
On Thu, 2015-07-09 at 15:26 +0200, Peter Zijlstra wrote: > On Wed, Jul 08, 2015 at 08:13:46AM +0200, Mike Galbraith wrote: > > static int wake_wide(struct task_struct *p) > > { > > + unsigned int waker_flips = current->wakee_flips; > > + unsigned int wakee_flips = p->wakee_flips; > > int

Re: [patch] sched: beef up wake_wide()

2015-07-09 Thread Mike Galbraith
On Thu, 2015-07-09 at 16:07 +0200, Mike Galbraith wrote: > On Thu, 2015-07-09 at 15:26 +0200, Peter Zijlstra wrote: > > On Wed, Jul 08, 2015 at 08:13:46AM +0200, Mike Galbraith wrote: > > > > > > +/* > > > + * Detect 1:N waker/wakee relationship via a switching-frequency > > > heuristic. > > > +

Re: [patch] sched: beef up wake_wide()

2015-07-09 Thread Mike Galbraith
On Thu, 2015-07-09 at 15:26 +0200, Peter Zijlstra wrote: > On Wed, Jul 08, 2015 at 08:13:46AM +0200, Mike Galbraith wrote: > > > > +/* > > + * Detect 1:N waker/wakee relationship via a switching-frequency heuristic. > > + * A waker of many should wake a different task than the one last awakened >

Re: [patch] sched: beef up wake_wide()

2015-07-09 Thread Peter Zijlstra
On Wed, Jul 08, 2015 at 08:13:46AM +0200, Mike Galbraith wrote: > > +/* > + * Detect 1:N waker/wakee relationship via a switching-frequency heuristic. > + * A waker of many should wake a different task than the one last awakened > + * at a frequency roughly N times higher than one of its wakees.

[patch] sched: beef up wake_wide()

2015-07-07 Thread Mike Galbraith
Josef Bacik reported that Facebook sees better performance with their 1:N load (1 dispatch/node, N workers/node) when carrying an old patch to try very hard to wake to an idle CPU. While looking at wake_wide(), I noticed that it doesn't pay attention to wakeup of the 1:N waker, returning 1 only w