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 <[email protected]>
---
 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


Reply via email to