summaryrefslogtreecommitdiff
path: root/kernel/time/timer_migration.h
diff options
context:
space:
mode:
authorFrederic Weisbecker <frederic@kernel.org>2026-04-23 18:53:51 +0200
committerThomas Gleixner <tglx@kernel.org>2026-05-06 08:33:06 +0200
commit3ba25488380fd76230442df366c464c6e1fd6485 (patch)
tree3000aa65c0245e9e59acc9cef8c2ba92e95fa16d /kernel/time/timer_migration.h
parentff65875f80d1a662d2d39e3e36345a0918766b3c (diff)
timers/migration: Track CPUs in a hierarchy
When a new root is created, the old root is connected to it and propagates up its own assumed to be active state, since the hotplug control CPU is itself active and part of the old root. However with per-capacity hierarchies, this assumption won't be true anymore because the hotplug control CPU calling the timer migration prepare callback may not belong to the same hierarchy as the booting CPU. To solve this, track the available CPUs per hierarchies so that the root connection can be offlined to safe CPUs. Signed-off-by: Frederic Weisbecker <frederic@kernel.org> Signed-off-by: Thomas Gleixner <tglx@kernel.org> Link: https://patch.msgid.link/20260423165354.95152-4-frederic@kernel.org
Diffstat (limited to 'kernel/time/timer_migration.h')
-rw-r--r--kernel/time/timer_migration.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/kernel/time/timer_migration.h b/kernel/time/timer_migration.h
index 77df422e5f9a..0cfbb8d799a6 100644
--- a/kernel/time/timer_migration.h
+++ b/kernel/time/timer_migration.h
@@ -8,10 +8,12 @@
/**
* struct tmigr_hierarchy - a hierarchy associated to a given CPU capacity.
* @level_list: Per level lists of tmigr groups
+ * @cpumask: CPUs belonging to this hierarchy
* @root: The current root of the hierarchy
*/
struct tmigr_hierarchy {
struct list_head *level_list;
+ struct cpumask *cpumask;
struct tmigr_group *root;
};