[PATCH 03/15] sched/isolation: Separate housekeeping types in enum hk_type
From: Qiliang Yuan
Date: Wed Mar 25 2026 - 05:10:11 EST
Most kernel noise types (TICK, TIMER, RCU, etc.) are currently
aliased to a single HK_TYPE_KERNEL_NOISE enum value. This prevents
fine-grained runtime isolation control as all masks are forced to be
identical.
Un-alias service-specific housekeeping types in enum hk_type.
This separation provides the necessary granularity for DHEI subsystems
to subscribe to and maintain independent affinity masks.
Signed-off-by: Qiliang Yuan <realwujing@xxxxxxxxx>
---
include/linux/sched/isolation.h | 19 ++++++++-----------
1 file changed, 8 insertions(+), 11 deletions(-)
diff --git a/include/linux/sched/isolation.h b/include/linux/sched/isolation.h
index 9df55237d3901..6ec64eb3f8bcb 100644
--- a/include/linux/sched/isolation.h
+++ b/include/linux/sched/isolation.h
@@ -10,21 +10,18 @@
enum hk_type {
HK_TYPE_DOMAIN,
HK_TYPE_MANAGED_IRQ,
- HK_TYPE_KERNEL_NOISE,
+ HK_TYPE_TICK,
+ HK_TYPE_TIMER,
+ HK_TYPE_RCU,
+ HK_TYPE_MISC,
+ HK_TYPE_WQ,
+ HK_TYPE_KTHREAD,
HK_TYPE_MAX,
- /*
- * The following housekeeping types are only set by the nohz_full
- * boot commandline option. So they can share the same value.
- */
- HK_TYPE_TICK = HK_TYPE_KERNEL_NOISE,
- HK_TYPE_TIMER = HK_TYPE_KERNEL_NOISE,
- HK_TYPE_RCU = HK_TYPE_KERNEL_NOISE,
- HK_TYPE_MISC = HK_TYPE_KERNEL_NOISE,
- HK_TYPE_WQ = HK_TYPE_KERNEL_NOISE,
- HK_TYPE_KTHREAD = HK_TYPE_KERNEL_NOISE
};
+#define HK_TYPE_KERNEL_NOISE HK_TYPE_TICK
+
struct housekeeping_update {
enum hk_type type;
const struct cpumask *new_mask;
--
2.43.0