From: Frederic Weisbecker Date: Sun, 21 Dec 2025 23:55:49 +0000 (+0100) Subject: cpuset: Propagate cpuset isolation update to timers through housekeeping X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f5c145ae4f26c25b853f059f1aa14a46f4e9f1ab;p=thirdparty%2Flinux.git cpuset: Propagate cpuset isolation update to timers through housekeeping Until now, cpuset would propagate isolated partition changes to timer migration so that unbound timers don't get migrated to isolated CPUs. Since housekeeping now centralizes, synchronize and propagates isolation cpumask changes, perform the work from that subsystem for consolidation and consistency purposes. Signed-off-by: Frederic Weisbecker --- diff --git a/kernel/cgroup/cpuset.c b/kernel/cgroup/cpuset.c index 6309ec5d7b2a1..080fa2fb10c7d 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 5bcb6d760f20b..a30d19b641f7c 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;