diff --git a/kernel/cgroup/cpuset.c b/kernel/cgroup/cpuset.c index 6309ec5d7b2a..080fa2fb10c7 100644 --- a/kernel/cgroup/cpuset.c +++ b/kernel/cgroup/cpuset.c @@ -1485,9 +1485,6 @@ static void update_isolation_cpumasks(void) ret = housekeeping_update(isolated_cpus); WARN_ON_ONCE(ret < 0); - ret = tmigr_isolated_exclude_cpumask(isolated_cpus); - WARN_ON_ONCE(ret < 0); - isolated_cpus_updating = false; } diff --git a/kernel/sched/isolation.c b/kernel/sched/isolation.c index 5bcb6d760f20..a30d19b641f7 100644 --- a/kernel/sched/isolation.c +++ b/kernel/sched/isolation.c @@ -149,9 +149,13 @@ int housekeeping_update(struct cpumask *isol_mask) pci_probe_flush_workqueue(); mem_cgroup_flush_workqueue(); vmstat_flush_workqueue(); + err = workqueue_unbound_housekeeping_update(housekeeping_cpumask(HK_TYPE_DOMAIN)); WARN_ON_ONCE(err < 0); + err = tmigr_isolated_exclude_cpumask(isol_mask); + WARN_ON_ONCE(err < 0); + kfree(old); return 0;