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

