Thread (82 messages) 82 messages, 7 authors, 2018-08-20

Re: [PATCH v3 06/14] sched/cpufreq: uclamp: add utilization clamping for RT tasks

From: Patrick Bellasi <hidden>
Date: 2018-08-09 15:42:10
Also in: lkml

On 07-Aug 14:54, Quentin Perret wrote:
Hi Patrick,
Hi Quentin!
On Monday 06 Aug 2018 at 17:39:38 (+0100), Patrick Bellasi wrote:
quoted
diff --git a/kernel/sched/cpufreq_schedutil.c b/kernel/sched/cpufreq_schedutil.c
index a7affc729c25..bb25ef66c2d3 100644
--- a/kernel/sched/cpufreq_schedutil.c
+++ b/kernel/sched/cpufreq_schedutil.c
@@ -200,6 +200,7 @@ static unsigned int get_next_freq(struct sugov_policy *sg_policy,
 static unsigned long sugov_get_util(struct sugov_cpu *sg_cpu)
 {
 	struct rq *rq = cpu_rq(sg_cpu->cpu);
+	unsigned long util_cfs, util_rt;
 	unsigned long util, irq, max;
 
 	sg_cpu->max = max = arch_scale_cpu_capacity(NULL, sg_cpu->cpu);
IIUC, not far below this you should still have something like:

	if (rt_rq_is_runnable(&rq->rt))
		return max;
Do you mean that when RT tasks are RUNNABLE we still want to got to
MAX? Not sure to understand... since this patch is actually to clamp
the RT class...
So you won't reach the actual clamping code at the end of the function
when a RT task is runnable no?
... mmm... no... this patch is to clamp RT tasks... Am I missing
something?
Also, I always had the feeling that the default for RT should be
util_min == 1024, and then users could decide to lower the bar if they
want to.
Mmm... good point! This would keep the policy unaltered for RT tasks.

I want to keep sched class specific code in uclamp at minimum, but
likely this should be achievable by just properly initializing the
task-specific util_min for RT tasks, if the original task has
UCLAM_NOT_VALID.
For the specific case of RT, that feels more natural than
applying a max util clamp IMO. What do you think ?
I'll look better into this for the next posting!

Cheers Patrick

-- 
#include <best/regards.h>

Patrick Bellasi
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help