Le Wed, Sep 04, 2024 at 07:57:13PM -0400, Waiman Long a écrit :
If that can help, I posted this a while ago:All these HK_TYPE_* types are still used in other parts of kernel. We needdiff --git a/include/linux/sched/isolation.h b/include/linux/sched/isolation.hWhy not removing them entirely and only keep HK_TYPE_KERNEL_NOISE ?
index 499d5e480882..e2c42172de82 100644
--- a/include/linux/sched/isolation.h
+++ b/include/linux/sched/isolation.h
@@ -7,15 +7,21 @@
#include <linux/tick.h>
enum hk_type {
- HK_TYPE_TIMER,
- HK_TYPE_RCU,
- HK_TYPE_MISC,
HK_TYPE_TICK,
HK_TYPE_DOMAIN,
- HK_TYPE_WQ,
HK_TYPE_MANAGED_IRQ,
- HK_TYPE_KTHREAD,
- HK_TYPE_MAX
+ HK_TYPE_KERNEL_NOISE,
+ 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_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
to clean them all up before we can remove them, but that is outside the
scope of this series.
https://lore.kernel.org/lkml/20230203232409.163847-2-frederic@xxxxxxxxxx/
I think it is very much needed. People keep getting confused about these individual
bits.