cpuset: Propagate cpuset isolation update to timers through housekeeping
authorFrederic Weisbecker <frederic@kernel.org>
Sun, 21 Dec 2025 23:55:49 +0000 (00:55 +0100)
committerFrederic Weisbecker <frederic@kernel.org>
Tue, 3 Feb 2026 14:23:34 +0000 (15:23 +0100)
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 <frederic@kernel.org>
kernel/cgroup/cpuset.c
kernel/sched/isolation.c

index 6309ec5..080fa2f 100644 (file)
@@ -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;
 }
 
index 5bcb6d7..a30d19b 100644 (file)
@@ -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;