Re: [PATCH] sched: Give idle_balance() a break when it does not move tasks.

2013-08-12 Thread Jason Low
On Mon, 2013-08-12 at 16:30 +0530, Srikar Dronamraju wrote: > > /* > > @@ -5298,6 +5300,8 @@ void idle_balance(int this_cpu, struct rq *this_rq) > > continue; > > > > if (sd->flags & SD_BALANCE_NEWIDLE) { > > + load_balance_attempted = true; >

Re: [PATCH] sched: Give idle_balance() a break when it does not move tasks.

2013-08-12 Thread Srikar Dronamraju
> /* > @@ -5298,6 +5300,8 @@ void idle_balance(int this_cpu, struct rq *this_rq) > continue; > > if (sd->flags & SD_BALANCE_NEWIDLE) { > + load_balance_attempted = true; > + > /* If we've pulled tasks over stop sea

[PATCH] sched: Give idle_balance() a break when it does not move tasks.

2013-08-12 Thread Jason Low
When running benchmarks on an 8 socket (80 core) machine, newidle load balance was being attempted frequently, but no tasks were moved most of the time. The most common reason was due to find_busiest_group returning NULL (for example, groups were already balanced within domains). Another common rea