[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <d43165ae-9124-4034-b816-d09c9a48ecec@redhat.com>
Date: Tue, 3 Sep 2024 09:53:46 -0400
From: Waiman Long <longman@...hat.com>
To: Frederic Weisbecker <frederic@...nel.org>
Cc: Ingo Molnar <mingo@...hat.com>, Peter Zijlstra <peterz@...radead.org>,
Juri Lelli <juri.lelli@...hat.com>,
Vincent Guittot <vincent.guittot@...aro.org>,
Dietmar Eggemann <dietmar.eggemann@....com>,
Steven Rostedt <rostedt@...dmis.org>, Ben Segall <bsegall@...gle.com>,
Mel Gorman <mgorman@...e.de>, Valentin Schneider <vschneid@...hat.com>,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH 2/3] sched/fair: Use HK_TYPE_SCHED housekeeping CPUs
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@...hat.com>
> 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
>>
Powered by blists - more mailing lists