diff options
author | Suresh Siddha <suresh.b.siddha@intel.com> | 2009-02-04 11:59:44 -0800 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2009-02-04 22:31:19 +0100 |
commit | 483b4ee60edbefdfbff0dd538fb81f368d9e7c0d (patch) | |
tree | 2fbf152e6bb6377a16a1fb0d1aa503d19e0c0f63 /arch/sparc/lib/ksyms.c | |
parent | 35626129abcd6a7547e84c817ef5b6eff7a8758b (diff) | |
download | blackbird-op-linux-483b4ee60edbefdfbff0dd538fb81f368d9e7c0d.tar.gz blackbird-op-linux-483b4ee60edbefdfbff0dd538fb81f368d9e7c0d.zip |
sched: fix nohz load balancer on cpu offline
Christian Borntraeger reports:
> After a logical cpu offline, even on a complete idle system, there
> is one cpu with full ticks. It turns out that nohz.cpu_mask has the
> the offlined cpu still set.
>
> In select_nohz_load_balancer() we check if the system is completely
> idle to turn of load balancing. We compare cpu_online_map with
> nohz.cpu_mask. Since cpu_online_map is updated on cpu unplug,
> but nohz.cpu_mask is not, the check fails and the scheduler believes
> that we need an "idle load balancer" even on a fully idle system.
> Since the ilb cpu does not deactivate the timer tick this breaks NOHZ.
Fix the select_nohz_load_balancer() to not set the nohz.cpu_mask
while a cpu is going offline.
Reported-by: Christian Borntraeger <borntraeger@de.ibm.com>
Signed-off-by: Suresh Siddha <suresh.b.siddha@intel.com>
Tested-by: Christian Borntraeger <borntraeger@de.ibm.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'arch/sparc/lib/ksyms.c')
0 files changed, 0 insertions, 0 deletions