Re: [PATCH v3 2/2] sched/isolation: Consolidate housekeeping cpumasks that are always identical

From: Waiman Long
Date: Fri Sep 06 2024 - 21:07:01 EST



On 9/6/24 09:10, Frederic Weisbecker wrote:
Le Wed, Sep 04, 2024 at 07:57:13PM -0400, Waiman Long a écrit :
diff --git a/include/linux/sched/isolation.h b/include/linux/sched/isolation.h
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
Why not removing them entirely and only keep HK_TYPE_KERNEL_NOISE ?
All these HK_TYPE_* types are still used in other parts of kernel. We need
to clean them all up before we can remove them, but that is outside the
scope of this series.
If that can help, I posted this a while ago:

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.

This patch does merge all the nohz_full bits (except HK_TYPE_TICK) into a single bit. I see that you tried to do that last year. This patch is less aggressive as it only touches the scheduling code. Once we agree that this is the direction to go and is merged, we can proceed to update the other kernel subsystems.

Cheers,
Longman