Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1360238
| From | "Rafael J. Wysocki" <rafael@kernel.org> |
|---|---|
| Newsgroups | linux.kernel |
| Subject | Re: [PATCH 4/8] cpufreq/schedutil: sysfs capacity margin tunable |
| Date | 2016-03-17 23:40 +0100 |
| Message-ID | <rdOKf-54a-21@gated-at.bofh.it> (permalink) |
| References | (6 earlier) <rdCzo-5z7-17@gated-at.bofh.it> <rdGD0-87J-15@gated-at.bofh.it> <rdIv7-Qo-1@gated-at.bofh.it> <rdKnh-22V-19@gated-at.bofh.it> <rdLjj-2CT-1@gated-at.bofh.it> |
| Organization | linux.* mail to news gateway |
On Thu, Mar 17, 2016 at 7:56 PM, Michael Turquette <mturquette@baylibre.com> wrote: > Quoting Juri Lelli (2016-03-17 10:54:07) >> Hi, >> >> On 17/03/16 15:53, Patrick Bellasi wrote: >> > On 17-Mar 06:55, Steve Muckle wrote: >> > > On 03/17/2016 02:40 AM, Juri Lelli wrote: >> > > >> Could the default schedtune value not serve as the out of the box margin? >> > > >> >> > > > I'm not sure I understand you here. For me schedtune should be disabled >> > > > by default, so I'd say that it doesn't introduce any additional margin >> > > > by default. But we still need a margin to make the governor work without >> > > > schedtune in the mix. >> > > >> > > Why not have schedtune be enabled always, and use it to add the margin? >> > > It seems like it'd simplify things. >> > >> > Actually one of the effects we noticed when SchedTune and SchedFreq >> > are both in use is that we have a sort of "double boosting" effect. >> > >> > SchedTune boosts the CPU utilization signal, thus already providing a >> > sort of margin for the selection of the OPP. This margin overlaps with >> > the SchedFreq margin, which in turns could results in the selection of >> > an OPP even more higher than required (with boost already accouned). >> > >> > > I haven't looked at the schedtune code at all so I don't know whether >> > > this makes sense given its current implementation. >> > >> > The current implementation requires review, of course ;-) >> > Last (and only) posting is based on top of SchedFreq code, as it was >> > at that time. >> > >> > > But conceptually I don't know why we'd need or want one margin in >> > > schedutil which will be tunable, and then another mechanism for >> > > tuning as well. >> > >> > I agree with Steve on the conceptual standpoint. The main goal of >> > SchedTune is actually to provide a "single tunable" to bias many >> > different subsystem in a "consistent" way. Thus, from a conceptual >> > standpoint, IMO it makes sens to investigate better how the boost value >> > can be linked with SchedFreq. >> > >> > A possible option can be to: >> > 1. use an hardcoded margin (M) defined by SchedFreq >> > this margin is used to trigger OPP jumps >> > when SchedTune _is not_ in use >> > 2. "compose" the M margin with a boost value defined margin (B) >> > when SchedTune _is_ in use >> > >> > This means, e.g. >> > schedfreq_margin = max(M, B) >> > Thus: >> > a) non boosted tasks (and in general when SchedTune is not in use) >> > gets OPPs jumps based on the hardcoded M margin >> > b) boosted tasks can get more aggressive OPPs jumps based on the B >> > margin >> > >> > While the M margin is hardcoded, the B one is defined via CGroups >> > depending on the how much tasks needs to be boosted. >> > >> >> Makes sense to me. And I think M margin is the one we don't want to make >> part of the ABI and only play with it under DEBUG. > > Correct. > > Regarding "composing" the margin, schedtune could even overwrite the > margin entirely via cpufreq_set_cfs_capacity_margin (see patch #2 in > this series). This avoids complications around a "double boosting" > effect. > > Either way, it sounds like the schedtune angle is something that we can > figure out in due time and change the code as needed later on. For > schedutil to make sense for frequency-invariant platforms we do need a > margin today, and there is desire to tune it easily, so I will move this > sysfs knob to a debug knob in v2. Sounds good! Also, if you look at the latest iteration of the schedutil patch (https://patchwork.kernel.org/patch/8612561/), it maps the choice of the margin to the choice of the frequency tipping point. That is, the value of (util / max) for which the frequency will stay the same as it was before. [For (util / max) below the tipping point the new frequency will be less than the old one (unless it already is minimum) and for (util / max) above it, the new frequency will be greater than the old one.] The tipping point seems to be a good candidate for a tunable to me, because its meaning is well defined and the range of values that make sense is quite easy to figure out too.
Back to linux.kernel | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
[PATCH 0/8] schedutil enhancements Michael Turquette <mturquette@baylibre.com> - 2016-03-14 06:30 +0100
[PATCH 4/8] cpufreq/schedutil: sysfs capacity margin tunable Michael Turquette <mturquette@baylibre.com> - 2016-03-14 06:30 +0100
Re: [PATCH 4/8] cpufreq/schedutil: sysfs capacity margin tunable Peter Zijlstra <peterz@infradead.org> - 2016-03-15 22:30 +0100
Re: [PATCH 4/8] cpufreq/schedutil: sysfs capacity margin tunable Peter Zijlstra <peterz@infradead.org> - 2016-03-15 22:50 +0100
Re: [PATCH 4/8] cpufreq/schedutil: sysfs capacity margin tunable Steve Muckle <steve.muckle@linaro.org> - 2016-03-16 04:40 +0100
Re: [PATCH 4/8] cpufreq/schedutil: sysfs capacity margin tunable Peter Zijlstra <peterz@infradead.org> - 2016-03-16 09:10 +0100
Re: [PATCH 4/8] cpufreq/schedutil: sysfs capacity margin tunable Juri Lelli <Juri.Lelli@arm.com> - 2016-03-16 11:10 +0100
Re: [PATCH 4/8] cpufreq/schedutil: sysfs capacity margin tunable Steve Muckle <steve.muckle@linaro.org> - 2016-03-16 19:00 +0100
Re: [PATCH 4/8] cpufreq/schedutil: sysfs capacity margin tunable Michael Turquette <mturquette@baylibre.com> - 2016-03-16 23:10 +0100
Re: [PATCH 4/8] cpufreq/schedutil: sysfs capacity margin tunable Juri Lelli <Juri.Lelli@arm.com> - 2016-03-17 10:40 +0100
Re: [PATCH 4/8] cpufreq/schedutil: sysfs capacity margin tunable Steve Muckle <steve.muckle@linaro.org> - 2016-03-17 15:00 +0100
Re: [PATCH 4/8] cpufreq/schedutil: sysfs capacity margin tunable Patrick Bellasi <patrick.bellasi@arm.com> - 2016-03-17 17:00 +0100
Re: [PATCH 4/8] cpufreq/schedutil: sysfs capacity margin tunable Juri Lelli <Juri.Lelli@arm.com> - 2016-03-17 19:00 +0100
Re: [PATCH 4/8] cpufreq/schedutil: sysfs capacity margin tunable Michael Turquette <mturquette@baylibre.com> - 2016-03-17 20:00 +0100
Re: [PATCH 4/8] cpufreq/schedutil: sysfs capacity margin tunable "Rafael J. Wysocki" <rafael@kernel.org> - 2016-03-17 23:40 +0100
Re: [PATCH 4/8] cpufreq/schedutil: sysfs capacity margin tunable "Rafael J. Wysocki" <rafael@kernel.org> - 2016-03-16 13:50 +0100
Re: [PATCH 4/8] cpufreq/schedutil: sysfs capacity margin tunable Michael Turquette <mturquette@baylibre.com> - 2016-03-16 23:10 +0100
[PATCH 1/8] sched/cpufreq: remove cpufreq_trigger_update() Michael Turquette <mturquette@baylibre.com> - 2016-03-14 06:30 +0100
Re: [PATCH 1/8] sched/cpufreq: remove cpufreq_trigger_update() Peter Zijlstra <peterz@infradead.org> - 2016-03-15 22:20 +0100
Re: [PATCH 1/8] sched/cpufreq: remove cpufreq_trigger_update() Peter Zijlstra <peterz@infradead.org> - 2016-03-15 23:00 +0100
Re: [PATCH 1/8] sched/cpufreq: remove cpufreq_trigger_update() Peter Zijlstra <peterz@infradead.org> - 2016-03-16 09:10 +0100
[PATCH 5/8] sched/cpufreq: pass sched class into cpufreq_update_util Michael Turquette <mturquette@baylibre.com> - 2016-03-14 06:30 +0100
Re: [PATCH 5/8] sched/cpufreq: pass sched class into cpufreq_update_util Peter Zijlstra <peterz@infradead.org> - 2016-03-15 22:30 +0100
Re: [PATCH 5/8] sched/cpufreq: pass sched class into cpufreq_update_util Steve Muckle <steve.muckle@linaro.org> - 2016-03-16 05:00 +0100
Re: [PATCH 5/8] sched/cpufreq: pass sched class into cpufreq_update_util Peter Zijlstra <peterz@infradead.org> - 2016-03-16 08:50 +0100
Re: [PATCH 5/8] sched/cpufreq: pass sched class into cpufreq_update_util Vincent Guittot <vincent.guittot@linaro.org> - 2016-03-16 09:40 +0100
Re: [PATCH 5/8] sched/cpufreq: pass sched class into cpufreq_update_util Peter Zijlstra <peterz@infradead.org> - 2016-03-16 10:00 +0100
Re: [PATCH 5/8] sched/cpufreq: pass sched class into cpufreq_update_util Vincent Guittot <vincent.guittot@linaro.org> - 2016-03-16 10:20 +0100
Re: [PATCH 5/8] sched/cpufreq: pass sched class into cpufreq_update_util "Rafael J. Wysocki" <rafael@kernel.org> - 2016-03-16 13:40 +0100
Re: [PATCH 5/8] sched/cpufreq: pass sched class into cpufreq_update_util Peter Zijlstra <peterz@infradead.org> - 2016-03-16 14:20 +0100
Re: [PATCH 5/8] sched/cpufreq: pass sched class into cpufreq_update_util "Rafael J. Wysocki" <rafael@kernel.org> - 2016-03-16 14:30 +0100
Re: [PATCH 5/8] sched/cpufreq: pass sched class into cpufreq_update_util Peter Zijlstra <peterz@infradead.org> - 2016-03-16 14:50 +0100
[PATCH 8/8] sched: prefer cpufreq_scale_freq_capacity Michael Turquette <mturquette@baylibre.com> - 2016-03-14 06:30 +0100
Re: [PATCH 8/8] sched: prefer cpufreq_scale_freq_capacity Dietmar Eggemann <dietmar.eggemann@arm.com> - 2016-03-15 20:20 +0100
Re: [PATCH 8/8] sched: prefer cpufreq_scale_freq_capacity Michael Turquette <mturquette@baylibre.com> - 2016-03-15 21:50 +0100
Re: [PATCH 8/8] sched: prefer cpufreq_scale_freq_capacity Dietmar Eggemann <dietmar.eggemann@arm.com> - 2016-03-16 20:50 +0100
Re: [PATCH 8/8] sched: prefer cpufreq_scale_freq_capacity Peter Zijlstra <peterz@infradead.org> - 2016-03-16 21:10 +0100
Re: [PATCH 8/8] sched: prefer cpufreq_scale_freq_capacity "Rafael J. Wysocki" <rjw@rjwysocki.net> - 2016-03-16 22:40 +0100
Re: [PATCH 8/8] sched: prefer cpufreq_scale_freq_capacity Peter Zijlstra <peterz@infradead.org> - 2016-03-15 22:50 +0100
Re: [PATCH 8/8] sched: prefer cpufreq_scale_freq_capacity Peter Zijlstra <peterz@infradead.org> - 2016-03-16 08:50 +0100
Re: [PATCH 8/8] sched: prefer cpufreq_scale_freq_capacity Peter Zijlstra <peterz@infradead.org> - 2016-03-16 13:50 +0100
[PATCH 2/8] sched/fair: add margin to utilization update Michael Turquette <mturquette@baylibre.com> - 2016-03-14 06:30 +0100
Re: [PATCH 2/8] sched/fair: add margin to utilization update Peter Zijlstra <peterz@infradead.org> - 2016-03-15 22:20 +0100
Re: [PATCH 2/8] sched/fair: add margin to utilization update Peter Zijlstra <peterz@infradead.org> - 2016-03-15 22:50 +0100
Re: [PATCH 2/8] sched/fair: add margin to utilization update Steve Muckle <steve.muckle@linaro.org> - 2016-03-16 04:00 +0100
Re: [PATCH 2/8] sched/fair: add margin to utilization update Michael Turquette <mturquette@baylibre.com> - 2016-03-16 23:20 +0100
[PATCH 3/8] sched/cpufreq: new cfs capacity margin helpers Michael Turquette <mturquette@baylibre.com> - 2016-03-14 06:30 +0100
Re: [PATCH 3/8] sched/cpufreq: new cfs capacity margin helpers Peter Zijlstra <peterz@infradead.org> - 2016-03-15 22:20 +0100
Re: [PATCH 0/8] schedutil enhancements "Rafael J. Wysocki" <rjw@rjwysocki.net> - 2016-03-16 01:10 +0100
csiph-web