Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1689700 > unrolled thread
| Started by | Viresh Kumar <viresh.kumar@linaro.org> |
|---|---|
| First post | 2017-07-18 07:00 +0200 |
| Last post | 2017-07-18 13:30 +0200 |
| Articles | 5 — 3 participants |
Back to article view | Back to linux.kernel
[PATCH] cpufreq: schedutil: Update last_update from sugov_set_iowait_boost() Viresh Kumar <viresh.kumar@linaro.org> - 2017-07-18 07:00 +0200
Re: [PATCH] cpufreq: schedutil: Update last_update from sugov_set_iowait_boost() Viresh Kumar <viresh.kumar@linaro.org> - 2017-07-18 13:30 +0200
Re: [PATCH] cpufreq: schedutil: Update last_update from sugov_set_iowait_boost() Juri Lelli <Juri.Lelli@arm.com> - 2017-07-18 13:40 +0200
Re: [PATCH] cpufreq: schedutil: Update last_update from sugov_set_iowait_boost() "Rafael J. Wysocki" <rjw@rjwysocki.net> - 2017-07-19 00:30 +0200
Re: [PATCH] cpufreq: schedutil: Update last_update from sugov_set_iowait_boost() Juri Lelli <Juri.Lelli@arm.com> - 2017-07-18 13:30 +0200
| From | Viresh Kumar <viresh.kumar@linaro.org> |
|---|---|
| Date | 2017-07-18 07:00 +0200 |
| Subject | [PATCH] cpufreq: schedutil: Update last_update from sugov_set_iowait_boost() |
| Message-ID | <u4sM2-6i8-17@gated-at.bofh.it> |
sg_cpu->last_update is always updated right after we call
sugov_set_iowait_boost() and its better to update it from that routine
itself. This makes it more readable.
Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
---
kernel/sched/cpufreq_schedutil.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/kernel/sched/cpufreq_schedutil.c b/kernel/sched/cpufreq_schedutil.c
index 29a397067ffa..63557b9f36b6 100644
--- a/kernel/sched/cpufreq_schedutil.c
+++ b/kernel/sched/cpufreq_schedutil.c
@@ -177,6 +177,8 @@ static void sugov_set_iowait_boost(struct sugov_cpu *sg_cpu, u64 time,
if (delta_ns > TICK_NSEC)
sg_cpu->iowait_boost = 0;
}
+
+ sg_cpu->last_update = time;
}
static void sugov_iowait_boost(struct sugov_cpu *sg_cpu, unsigned long *util,
@@ -219,7 +221,6 @@ static void sugov_update_single(struct update_util_data *hook, u64 time,
bool busy;
sugov_set_iowait_boost(sg_cpu, time, flags);
- sg_cpu->last_update = time;
if (!sugov_should_update_freq(sg_policy, time))
return;
@@ -299,7 +300,6 @@ static void sugov_update_shared(struct update_util_data *hook, u64 time,
sg_cpu->flags = flags;
sugov_set_iowait_boost(sg_cpu, time, flags);
- sg_cpu->last_update = time;
if (sugov_should_update_freq(sg_policy, time)) {
if (flags & SCHED_CPUFREQ_RT_DL)
--
2.13.0.71.gd7076ec9c9cb
[toc] | [next] | [standalone]
| From | Viresh Kumar <viresh.kumar@linaro.org> |
|---|---|
| Date | 2017-07-18 13:30 +0200 |
| Subject | Re: [PATCH] cpufreq: schedutil: Update last_update from sugov_set_iowait_boost() |
| Message-ID | <u4yRr-1Lc-9@gated-at.bofh.it> |
| In reply to | #1689700 |
On 18-07-17, 12:20, Juri Lelli wrote: > Hi Viresh, > > On 18/07/17 10:24, Viresh Kumar wrote: > > sg_cpu->last_update is always updated right after we call > > sugov_set_iowait_boost() and its better to update it from that routine > > itself. This makes it more readable. > > > > Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org> > > --- > > kernel/sched/cpufreq_schedutil.c | 4 ++-- > > 1 file changed, 2 insertions(+), 2 deletions(-) > > > > diff --git a/kernel/sched/cpufreq_schedutil.c b/kernel/sched/cpufreq_schedutil.c > > index 29a397067ffa..63557b9f36b6 100644 > > --- a/kernel/sched/cpufreq_schedutil.c > > +++ b/kernel/sched/cpufreq_schedutil.c > > @@ -177,6 +177,8 @@ static void sugov_set_iowait_boost(struct sugov_cpu *sg_cpu, u64 time, > > if (delta_ns > TICK_NSEC) > > sg_cpu->iowait_boost = 0; > > } > > + > > + sg_cpu->last_update = time; > > } > > > > static void sugov_iowait_boost(struct sugov_cpu *sg_cpu, unsigned long *util, > > @@ -219,7 +221,6 @@ static void sugov_update_single(struct update_util_data *hook, u64 time, > > bool busy; > > > > sugov_set_iowait_boost(sg_cpu, time, flags); > > - sg_cpu->last_update = time; > > > > if (!sugov_should_update_freq(sg_policy, time)) > > return; > > @@ -299,7 +300,6 @@ static void sugov_update_shared(struct update_util_data *hook, u64 time, > > sg_cpu->flags = flags; > > > > sugov_set_iowait_boost(sg_cpu, time, flags); > > - sg_cpu->last_update = time; > > It actually belongs here, IMHO. We update other fields (util, max, > flags) Yeah, because they have bigger roles and aren't specific to iowait boost. > before looking at iowait. Why hiding the time update into a > function dealing with only one of such fields? But last_update is very much specific to iowait_boost only and so it should be updated from sugov_set_iowait_boost() IMHO. -- viresh
[toc] | [prev] | [next] | [standalone]
| From | Juri Lelli <Juri.Lelli@arm.com> |
|---|---|
| Date | 2017-07-18 13:40 +0200 |
| Subject | Re: [PATCH] cpufreq: schedutil: Update last_update from sugov_set_iowait_boost() |
| Message-ID | <u4z18-1Qn-33@gated-at.bofh.it> |
| In reply to | #1690166 |
On 18/07/17 16:55, Viresh Kumar wrote: > On 18-07-17, 12:20, Juri Lelli wrote: > > Hi Viresh, > > > > On 18/07/17 10:24, Viresh Kumar wrote: [...] > > > > It actually belongs here, IMHO. We update other fields (util, max, > > flags) > > Yeah, because they have bigger roles and aren't specific to iowait > boost. > > > before looking at iowait. Why hiding the time update into a > > function dealing with only one of such fields? > > But last_update is very much specific to iowait_boost only and so it > should be updated from sugov_set_iowait_boost() IMHO. > Huh, I see you point. However, I'm using it also to deal with stale CFS util values in my patches [1]. Sure, not mainline yet, but I guess I'll have to sort of revert your proposed change for my next version. Or think of a better idea. :) Thanks, - Juri [1] http://marc.info/?l=linux-kernel&m=149924526528298&w=2
[toc] | [prev] | [next] | [standalone]
| From | "Rafael J. Wysocki" <rjw@rjwysocki.net> |
|---|---|
| Date | 2017-07-19 00:30 +0200 |
| Message-ID | <u4Jaa-8f4-25@gated-at.bofh.it> |
| In reply to | #1690184 |
On Tuesday, July 18, 2017 12:35:52 PM Juri Lelli wrote: > On 18/07/17 16:55, Viresh Kumar wrote: > > On 18-07-17, 12:20, Juri Lelli wrote: > > > Hi Viresh, > > > > > > On 18/07/17 10:24, Viresh Kumar wrote: > > [...] > > > > > > > It actually belongs here, IMHO. We update other fields (util, max, > > > flags) > > > > Yeah, because they have bigger roles and aren't specific to iowait > > boost. > > > > > before looking at iowait. Why hiding the time update into a > > > function dealing with only one of such fields? > > > > But last_update is very much specific to iowait_boost only and so it > > should be updated from sugov_set_iowait_boost() IMHO. > > > > Huh, I see you point. However, I'm using it also to deal with stale CFS > util values in my patches [1]. Sure, not mainline yet, but I guess I'll > have to sort of revert your proposed change for my next version. Or > think of a better idea. :) Yes, so I'd prefer to prioritize your patches. The patch from Viresh is purely cosmetic AFAICS and it really can wait. Thanks, Rafael
[toc] | [prev] | [next] | [standalone]
| From | Juri Lelli <Juri.Lelli@arm.com> |
|---|---|
| Date | 2017-07-18 13:30 +0200 |
| Subject | Re: [PATCH] cpufreq: schedutil: Update last_update from sugov_set_iowait_boost() |
| Message-ID | <u4yRs-1Lc-11@gated-at.bofh.it> |
| In reply to | #1689700 |
Hi Viresh, On 18/07/17 10:24, Viresh Kumar wrote: > sg_cpu->last_update is always updated right after we call > sugov_set_iowait_boost() and its better to update it from that routine > itself. This makes it more readable. > > Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org> > --- > kernel/sched/cpufreq_schedutil.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/kernel/sched/cpufreq_schedutil.c b/kernel/sched/cpufreq_schedutil.c > index 29a397067ffa..63557b9f36b6 100644 > --- a/kernel/sched/cpufreq_schedutil.c > +++ b/kernel/sched/cpufreq_schedutil.c > @@ -177,6 +177,8 @@ static void sugov_set_iowait_boost(struct sugov_cpu *sg_cpu, u64 time, > if (delta_ns > TICK_NSEC) > sg_cpu->iowait_boost = 0; > } > + > + sg_cpu->last_update = time; > } > > static void sugov_iowait_boost(struct sugov_cpu *sg_cpu, unsigned long *util, > @@ -219,7 +221,6 @@ static void sugov_update_single(struct update_util_data *hook, u64 time, > bool busy; > > sugov_set_iowait_boost(sg_cpu, time, flags); > - sg_cpu->last_update = time; > > if (!sugov_should_update_freq(sg_policy, time)) > return; > @@ -299,7 +300,6 @@ static void sugov_update_shared(struct update_util_data *hook, u64 time, > sg_cpu->flags = flags; > > sugov_set_iowait_boost(sg_cpu, time, flags); > - sg_cpu->last_update = time; It actually belongs here, IMHO. We update other fields (util, max, flags) before looking at iowait. Why hiding the time update into a function dealing with only one of such fields? Best, - Juri
[toc] | [prev] | [standalone]
Back to top | Article view | linux.kernel
csiph-web