]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
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 6309ec5d7b2a1edfc8a39bd64a30771e819c7d8c..080fa2fb10c7d22967742dbe647f74378868895c 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 5bcb6d760f20bdd6b5b1e09a92b3944c239c64af..a30d19b641f7c2e188d040bd8ff765e5a315cd85 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;