Skip to content

Commit 77d1dfd

Browse files
Peter ZijlstraIngo Molnar
authored andcommitted
sched/topology, cpuset: Avoid spurious/wrong domain rebuilds
When disabling cpuset.sched_load_balance we expect to be able to online CPUs without generating sched_domains. However this is currently completely broken. What happens is that we generate the sched_domains and then destroy them. This is because of the spurious 'default' domain build in cpuset_update_active_cpus(). That builds a single machine wide domain and then schedules a work to build the 'real' domains. The work then finds there are _no_ domains and destroys the lot again. Furthermore, if there actually were cpusets, building the machine wide domain is actively wrong, because it would allow tasks to 'escape' their cpuset. Also I don't think its needed, the scheduler really should respect the active mask. Reported-by: Ofer Levi(SW) <[email protected]> Signed-off-by: Peter Zijlstra (Intel) <[email protected]> Cc: Linus Torvalds <[email protected]> Cc: Peter Zijlstra <[email protected]> Cc: Tejun Heo <[email protected]> Cc: Thomas Gleixner <[email protected]> Cc: [email protected] <[email protected]> Cc: [email protected] <[email protected]> Signed-off-by: Ingo Molnar <[email protected]>
1 parent a090c4f commit 77d1dfd

File tree

1 file changed

+0
-6
lines changed

1 file changed

+0
-6
lines changed

kernel/cgroup/cpuset.c

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2343,13 +2343,7 @@ void cpuset_update_active_cpus(void)
23432343
* We're inside cpu hotplug critical region which usually nests
23442344
* inside cgroup synchronization. Bounce actual hotplug processing
23452345
* to a work item to avoid reverse locking order.
2346-
*
2347-
* We still need to do partition_sched_domains() synchronously;
2348-
* otherwise, the scheduler will get confused and put tasks to the
2349-
* dead CPU. Fall back to the default single domain.
2350-
* cpuset_hotplug_workfn() will rebuild it as necessary.
23512346
*/
2352-
partition_sched_domains(1, NULL, NULL);
23532347
schedule_work(&cpuset_hotplug_work);
23542348
}
23552349

0 commit comments

Comments
 (0)