Messages in this thread | | | Date | Fri, 27 Mar 2015 10:03:21 +0530 | From | Preeti U Murthy <> | Subject | Re: [PATCH V2] sched: Improve load balancing in the presence of idle CPUs |
| |
Hi Wanpeng
On 03/27/2015 07:42 AM, 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?
When the ILB CPU pulls load in rebalance_domains(), its idle state is set to CPU_NOT_IDLE.
"" idle = idle_cpu(cpu) ? CPU_IDLE : CPU_NOT_IDLE;
And,
When nohz_idle_balance() is called, the state of idle of ILB CPU is checked before proceeding with load balancing on idle CPUs.
""
if (idle != CPU_IDLE || !test_bit(NOHZ_BALANCE_KICK, nohz_flags(this_cpu))) goto end;
You see that nohz idle balancing gets aborted.
Regards Preeti U Murthy
> > Regards, > Wanpeng Li >
| |