[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20150327053907.GB6895@linux.vnet.ibm.com>
Date: Fri, 27 Mar 2015 11:09:07 +0530
From: Srikar Dronamraju <srikar@...ux.vnet.ibm.com>
To: Jason Low <jason.low2@...com>
Cc: Wanpeng Li <wanpeng.li@...ux.intel.com>,
Preeti U Murthy <preeti@...ux.vnet.ibm.com>,
peterz@...radead.org, mingo@...nel.org, riel@...hat.com,
daniel.lezcano@...aro.org, vincent.guittot@...aro.org,
pjt@...gle.com, benh@...nel.crashing.org, efault@....de,
linux-kernel@...r.kernel.org, iamjoonsoo.kim@....com,
svaidy@...ux.vnet.ibm.com, tim.c.chen@...ux.intel.com,
morten.rasmussen@....com
Subject: Re: [PATCH V2] sched: Improve load balancing in the presence of idle
CPUs
* Jason Low <jason.low2@...com> [2015-03-26 22:07:21]:
> On Fri, 2015-03-27 at 10:12 +0800, Wanpeng Li wrote:
> > Hi Preeti,
> > On Thu, Mar 26, 2015 at 06:32:44PM +0530, Preeti U Murthy wrote:
> > >
> > >1. An ILB CPU was chosen from the first numa domain to trigger nohz idle
> > >load balancing [Given the experiment, upto 6 CPUs per core could be
> > >potentially idle in this domain.]
> > >
> > >2. However the ILB CPU would call load_balance() on itself before
> > >initiating nohz idle load balancing.
> > >
> > >3. Given cores are SMT8, the ILB CPU had enough opportunities to pull
> > >tasks from its sibling cores to even out load.
> > >
> > >4. Now that the ILB CPU was no longer idle, it would abort nohz idle
> > >load balancing
> >
> > I don't see abort nohz idle load balancing when ILB CPU was no longer idle
> > in nohz_idle_balance(), could you explain more in details?
>
> Hi Wanpeng,
>
> In nohz_idle_balance(), there is a check for need_resched() so if the
> cpu has something to run, it should exit nohz_idle_balance(), which may
> cause it to not do the idle balancing on the other CPUs.
>
Yes, the need_resched() in nohz_idle_balance() would exit the
nohz_idle_balance if it has something to run. However I wonder if we
should move the need_resched check out of the for loop. i.e the
need_resched check should probably be there with the idle check.
With the current code when the ilb cpus are not free:
- We would be updating the nohz.next_balance even through we havent done
any load balance.
- We might iterate thro the nohz.idle_cpus_mask()s to find balance_cpus.
--
Thanks and Regards
Srikar Dronamraju
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists