Messages in this thread | | | From | Yun Levi <> | Date | Thu, 16 May 2024 06:29:51 +0100 | Subject | Re: [PATCH v4] time/tick-sched: idle load balancing when nohz_full cpu becomes idle. |
| |
HI. Frederic!
Thanks for your reply.
> 1) Is Idle load balancing actually relevant for nohz_full? HK_TYPE_MISC already > prevent those CPUs from becoming idle load balancer. They can still be > targets for load balancing but nohz_full CPUs are supposed to run only one > task.
I'm not sure nohz_full cpu is really relevant with Idle load balancing. However, I couldn't find any reason it shouldn't participate Idle load balancing. And about HK_TYPE_MISC, this is half true when it sets with "nohz_full=" options, if nohz_full cpu is set via "isolcpus=nohz," it's still in HK_TYPE_MISC mask so find_ilb() doesn't prevent entering idle load balance.
> 2) This is related to previous point: HK_TYPE_SCHED is never activated. It would > prevent the CPU from even beeing part of idle load balancing. Should we > remove it or plug it?
IMHO, If we want to prevent nohz_full cpu entering, I should set with HK_TYPE_TICK | HK_TYPE_SCHED together. Because, find_new_ilb()'s comment say " HK_TYPE_MISC CPUs are used for this task, because HK_TYPE_SCHED is not set anywhere yet." or integrate with HK_TYPE_TICK....? removing HK_TYPE_SCHED in the hk list...
It depends on ilb relevant for nohz_full... If it is, Idle load balance could be controlled with HK_TYPE_SCHED. If it doesn't ,IMHO, It seems better to remove HK_TYPE_SCHED and check with HK_TYPE_SCHED.
> 4) Why is nohz_balance_exit_idle() called from the tick and not from the idle > exit path? Is it to avoid overhead?
> I'm adding some scheduler people in Cc who might help answer some of those > questions. ..
Thanks :)
| |