All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2] sched/rt: fix call to cpufreq_update_util
@ 2018-05-17  7:16 Vincent Guittot
  2018-05-17  9:05 ` Peter Zijlstra
  0 siblings, 1 reply; 8+ messages in thread
From: Vincent Guittot @ 2018-05-17  7:16 UTC (permalink / raw)
  To: peterz, mingo, linux-kernel
  Cc: patrick.bellasi, viresh.kumar, tglx, efault, juri.lelli,
	Vincent Guittot, # v4 . 16+

With commit 8f111bc357aa ("cpufreq/schedutil: Rewrite CPUFREQ_RT support")
schedutil governor uses rq->rt.rt_nr_running to detect whether a RT task is
currently running on the CPU and to set frequency to max if necessary.
cpufreq_update_util() is called in enqueue/dequeue_top_rt_rq() but
rq->rt.rt_nr_running as not been updated yet when dequeue_top_rt_rq() is
called so schedutil still considers that a RT task is running when the
last task is dequeued. The update of rq->rt.rt_nr_running happens later
in dequeue_rt_stack()

Fixes: 8f111bc357aa ('cpufreq/schedutil: Rewrite CPUFREQ_RT support')
Cc: <stable@vger.kernel.org> # v4.16+
Signed-off-by: Vincent Guittot <vincent.guittot@linaro.org>
---
- v2:
  - remove blank line

 kernel/sched/rt.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/kernel/sched/rt.c b/kernel/sched/rt.c
index 7aef6b4..a9f1119 100644
--- a/kernel/sched/rt.c
+++ b/kernel/sched/rt.c
@@ -1000,9 +1000,6 @@ dequeue_top_rt_rq(struct rt_rq *rt_rq)
 
 	sub_nr_running(rq, rt_rq->rt_nr_running);
 	rt_rq->rt_queued = 0;
-
-	/* Kick cpufreq (see the comment in kernel/sched/sched.h). */
-	cpufreq_update_util(rq, 0);
 }
 
 static void
@@ -1288,6 +1285,9 @@ static void dequeue_rt_stack(struct sched_rt_entity *rt_se, unsigned int flags)
 		if (on_rt_rq(rt_se))
 			__dequeue_rt_entity(rt_se, flags);
 	}
+
+	/* Kick cpufreq (see the comment in kernel/sched/sched.h). */
+	cpufreq_update_util(rq_of_rt_rq(rt_rq_of_se(back)), 0);
 }
 
 static void enqueue_rt_entity(struct sched_rt_entity *rt_se, unsigned int flags)
-- 
2.7.4

^ permalink raw reply related	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2018-07-03  7:49 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-05-17  7:16 [PATCH v2] sched/rt: fix call to cpufreq_update_util Vincent Guittot
2018-05-17  9:05 ` Peter Zijlstra
2018-05-17  9:32   ` Peter Zijlstra
2018-05-17 20:12     ` Vincent Guittot
2018-05-17 20:12       ` Vincent Guittot
2018-06-01 14:37       ` Vincent Guittot
2018-06-26 13:53         ` Vincent Guittot
2018-07-03  7:49           ` [tip:sched/core] sched/rt: Fix call to cpufreq_update_util() tip-bot for Vincent Guittot

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.