Message ID | 20211224012239.4694-1-yt.chang@mediatek.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [1/1] sched: Add update_rq_clock() in sched_rt_rq_enqueue() | expand |
On Fri, Dec 24, 2021 at 09:22:39AM +0800, YT Chang wrote: > Add update_rq_clock() in sched_rt_rq_enqueue() to > prevent the warning "rq->clock_update_flags < RQCF_ACT_SKIP" > when call rq_clock() in cpufreq_update_util(). > > sched_rt_rq_enqueue -> > enqueue_top_rt_rq -> > cpufreq_update_util -> > rq_clock -> > assert_clock_updated > > Signed-off-by: YT Chang <yt.chang@mediatek.com> > Change-Id: I4fba5a561b7064aafa991d7f1a34431607779cb4 Change-Id does not belong in kernel patches.. > --- > kernel/sched/rt.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/kernel/sched/rt.c b/kernel/sched/rt.c > index b48baaba2fc2..faf1a68c0723 100644 > --- a/kernel/sched/rt.c > +++ b/kernel/sched/rt.c > @@ -539,6 +539,7 @@ static void sched_rt_rq_enqueue(struct rt_rq *rt_rq) > > int cpu = cpu_of(rq); > > + update_rq_clock(rq); This isn't right I think; there's at least one caller of this function that already did that. A double clock update is also wrong. Each path should have just one. > rt_se = rt_rq->tg->rt_se[cpu]; > > if (rt_rq->rt_nr_running) { > -- > 2.18.0 >
diff --git a/kernel/sched/rt.c b/kernel/sched/rt.c index b48baaba2fc2..faf1a68c0723 100644 --- a/kernel/sched/rt.c +++ b/kernel/sched/rt.c @@ -539,6 +539,7 @@ static void sched_rt_rq_enqueue(struct rt_rq *rt_rq) int cpu = cpu_of(rq); + update_rq_clock(rq); rt_se = rt_rq->tg->rt_se[cpu]; if (rt_rq->rt_nr_running) {
Add update_rq_clock() in sched_rt_rq_enqueue() to prevent the warning "rq->clock_update_flags < RQCF_ACT_SKIP" when call rq_clock() in cpufreq_update_util(). sched_rt_rq_enqueue -> enqueue_top_rt_rq -> cpufreq_update_util -> rq_clock -> assert_clock_updated Signed-off-by: YT Chang <yt.chang@mediatek.com> Change-Id: I4fba5a561b7064aafa991d7f1a34431607779cb4 --- kernel/sched/rt.c | 1 + 1 file changed, 1 insertion(+)