Re: [PATCH 1/4] sched/fair: Be less aggressive in calling cpufreq_update_util()

From: Lukasz Luba
Date: Mon Dec 11 2023 - 02:55:12 EST




On 12/10/23 20:51, Qais Yousef wrote:
On 12/08/23 10:05, Lukasz Luba wrote:
Hi Qais,

On 12/8/23 01:52, Qais Yousef wrote:

[snip]

@@ -6704,14 +6677,6 @@ enqueue_task_fair(struct rq *rq, struct task_struct *p, int flags)
*/
util_est_enqueue(&rq->cfs, p);
- /*
- * If in_iowait is set, the code below may not trigger any cpufreq
- * utilization updates, so do it here explicitly with the IOWAIT flag
- * passed.
- */
- if (p->in_iowait)
- cpufreq_update_util(rq, SCHED_CPUFREQ_IOWAIT);
-

Why this io wait boost is considered as the $subject says 'aggressive'
calling?

This will trigger a frequency update along with the iowait boost. Did I miss
something?

Yes, it will change CPU freq and it was the main goal for this code
path. We have tests which check how that works on different memory
types.

Why do you want to remove it?

Did you run some tests (e.g. fio, gallery, etc) to check if you still
have a decent performance out some new ufs/nvme memories?

Beata & Dietmar have presented at LPC2021 a proposal to have a per-task
io boost, with a bit more controllable way of the trade off power vs.
performance [1]. IMO the io wait boost could evolve, not simply die.

Regards,
Lukasz

[1] https://lpc.events/event/11/contributions/1042/