Re: [PATCH 2/3] sched/fair: Use HK_TYPE_SCHED housekeeping CPUs

From: Waiman Long
Date: Tue Sep 03 2024 - 09:54:44 EST



On 9/3/24 09:12, Frederic Weisbecker wrote:
Le Sun, Aug 18, 2024 at 07:45:19PM -0400, Waiman Long a écrit :
As the previous commit has enabled the setting of HK_TYPE_SCHED
housekeeping CPUs in nohz_full setup, we can now use the more aptly
named HK_TYPE_SCHED housekeeping CPUs instead of HK_TYPE_MISC.

Signed-off-by: Waiman Long <longman@xxxxxxxxxx>
Can we instead merge HK_FLAG_TICK, HK_FLAG_WQ, HK_FLAG_TIMER, HK_FLAG_RCU,
HK_FLAG_MISC and HK_FLAG_KTHREAD into a single
HK_FLAG_KERNEL_NOISE / HK_TYPE_KERNEL_NOISE ?

Sure. I am open to new name as I am not good on that. HK_FLAG_KERNEL_NOISE does make sense.

Cheers,
Longman


Thanks.

---
kernel/sched/fair.c | 7 ++-----
1 file changed, 2 insertions(+), 5 deletions(-)

diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c
index 6be618110885..0350667f5ce8 100644
--- a/kernel/sched/fair.c
+++ b/kernel/sched/fair.c
@@ -12128,16 +12128,13 @@ static inline int on_null_domain(struct rq *rq)
* - When one of the busy CPUs notices that there may be an idle rebalancing
* needed, they will kick the idle load balancer, which then does idle
* load balancing for all the idle CPUs.
- *
- * - HK_TYPE_MISC CPUs are used for this task, because HK_TYPE_SCHED is not set
- * anywhere yet.
*/
static inline int find_new_ilb(void)
{
const struct cpumask *hk_mask;
int ilb_cpu;
- hk_mask = housekeeping_cpumask(HK_TYPE_MISC);
+ hk_mask = housekeeping_cpumask(HK_TYPE_SCHED);
for_each_cpu_and(ilb_cpu, nohz.idle_cpus_mask, hk_mask) {
@@ -12155,7 +12152,7 @@ static inline int find_new_ilb(void)
* Kick a CPU to do the NOHZ balancing, if it is time for it, via a cross-CPU
* SMP function call (IPI).
*
- * We pick the first idle CPU in the HK_TYPE_MISC housekeeping set (if there is one).
+ * We pick the first idle CPU in the HK_TYPE_SCHED housekeeping set (if there is one).
*/
static void kick_ilb(unsigned int flags)
{
--
2.43.5