Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1208143 > unrolled thread
| Started by | Peter Zijlstra <peterz@infradead.org> |
|---|---|
| First post | 2015-08-15 22:00 +0200 |
| Last post | 2015-08-17 14:20 +0200 |
| Articles | 4 — 3 participants |
Back to article view | Back to linux.kernel
This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by
below is the oldest one visible, not the original post.
Re: [RFCv5 PATCH 40/46] sched/cpufreq_sched: compute freq_new based on capacity_orig_of() Peter Zijlstra <peterz@infradead.org> - 2015-08-15 22:00 +0200
Re: [RFCv5 PATCH 40/46] sched/cpufreq_sched: compute freq_new based on capacity_orig_of() Michael Turquette <mturquette@baylibre.com> - 2015-08-16 06:10 +0200
Re: [RFCv5 PATCH 40/46] sched/cpufreq_sched: compute freq_new based on capacity_orig_of() Peter Zijlstra <peterz@infradead.org> - 2015-08-17 00:10 +0200
Re: [RFCv5 PATCH 40/46] sched/cpufreq_sched: compute freq_new based on capacity_orig_of() Juri Lelli <juri.lelli@arm.com> - 2015-08-17 14:20 +0200
| From | Peter Zijlstra <peterz@infradead.org> |
|---|---|
| Date | 2015-08-15 22:00 +0200 |
| Subject | Re: [RFCv5 PATCH 40/46] sched/cpufreq_sched: compute freq_new based on capacity_orig_of() |
| Message-ID | <pXPMv-2Vm-37@gated-at.bofh.it> |
On Tue, Jul 07, 2015 at 07:24:23PM +0100, Morten Rasmussen wrote: > diff --git a/kernel/sched/cpufreq_sched.c b/kernel/sched/cpufreq_sched.c > index 2968f3a..7071528 100644 > --- a/kernel/sched/cpufreq_sched.c > +++ b/kernel/sched/cpufreq_sched.c > @@ -184,7 +184,7 @@ void cpufreq_sched_set_cap(int cpu, unsigned long capacity) > goto out; > > /* Convert the new maximum capacity request into a cpu frequency */ > - freq_new = capacity * policy->max >> SCHED_CAPACITY_SHIFT; > + freq_new = (capacity * policy->max) / capacity_orig_of(cpu); > > /* No change in frequency? Bail and return current capacity. */ > if (freq_new == policy->cur) Can't we avoid exporting that lot by simply passing in the right values to begin with? -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[toc] | [next] | [standalone]
| From | Michael Turquette <mturquette@baylibre.com> |
|---|---|
| Date | 2015-08-16 06:10 +0200 |
| Subject | Re: [RFCv5 PATCH 40/46] sched/cpufreq_sched: compute freq_new based on capacity_orig_of() |
| Message-ID | <pXXqF-5FD-1@gated-at.bofh.it> |
| In reply to | #1208143 |
Quoting Peter Zijlstra (2015-08-15 05:46:38) > On Tue, Jul 07, 2015 at 07:24:23PM +0100, Morten Rasmussen wrote: > > diff --git a/kernel/sched/cpufreq_sched.c b/kernel/sched/cpufreq_sched.c > > index 2968f3a..7071528 100644 > > --- a/kernel/sched/cpufreq_sched.c > > +++ b/kernel/sched/cpufreq_sched.c > > @@ -184,7 +184,7 @@ void cpufreq_sched_set_cap(int cpu, unsigned long capacity) > > goto out; > > > > /* Convert the new maximum capacity request into a cpu frequency */ > > - freq_new = capacity * policy->max >> SCHED_CAPACITY_SHIFT; > > + freq_new = (capacity * policy->max) / capacity_orig_of(cpu); > > > > /* No change in frequency? Bail and return current capacity. */ > > if (freq_new == policy->cur) > > Can't we avoid exporting that lot by simply passing in the right values > to begin with? By "right value" do you mean, "pass the frequency from cfs"? If that is what you mean, then the answer is "yes". But it also means that cfs will need access to either: 1) the cpu frequncy-domain topology described in struct cpufreq.cpus OR 2) duplicate that frequency-domain knowledge, perhaps in sched_domain If that isn't what you mean by "right value" then let me know. Regards, Mike > -- > To unsubscribe from this list: send the line "unsubscribe linux-kernel" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html > Please read the FAQ at http://www.tux.org/lkml/ -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[toc] | [prev] | [next] | [standalone]
| From | Peter Zijlstra <peterz@infradead.org> |
|---|---|
| Date | 2015-08-17 00:10 +0200 |
| Message-ID | <pYehP-4Ic-13@gated-at.bofh.it> |
| In reply to | #1208199 |
On Sat, Aug 15, 2015 at 09:03:33PM -0700, Michael Turquette wrote: > Quoting Peter Zijlstra (2015-08-15 05:46:38) > > On Tue, Jul 07, 2015 at 07:24:23PM +0100, Morten Rasmussen wrote: > > > diff --git a/kernel/sched/cpufreq_sched.c b/kernel/sched/cpufreq_sched.c > > > index 2968f3a..7071528 100644 > > > --- a/kernel/sched/cpufreq_sched.c > > > +++ b/kernel/sched/cpufreq_sched.c > > > @@ -184,7 +184,7 @@ void cpufreq_sched_set_cap(int cpu, unsigned long capacity) > > > goto out; > > > > > > /* Convert the new maximum capacity request into a cpu frequency */ > > > - freq_new = capacity * policy->max >> SCHED_CAPACITY_SHIFT; > > > + freq_new = (capacity * policy->max) / capacity_orig_of(cpu); > > > > > > /* No change in frequency? Bail and return current capacity. */ > > > if (freq_new == policy->cur) > > > > Can't we avoid exporting that lot by simply passing in the right values > > to begin with? > > By "right value" do you mean, "pass the frequency from cfs"? Nah, just maybe: (capacity << SCHED_CAPACITY_SHIFT) / capacity_orig_of() such that you don't have to export that knowledge to this thing. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[toc] | [prev] | [next] | [standalone]
| From | Juri Lelli <juri.lelli@arm.com> |
|---|---|
| Date | 2015-08-17 14:20 +0200 |
| Message-ID | <pYryq-737-7@gated-at.bofh.it> |
| In reply to | #1208281 |
On 16/08/15 21:24, Peter Zijlstra wrote: > On Sat, Aug 15, 2015 at 09:03:33PM -0700, Michael Turquette wrote: >> Quoting Peter Zijlstra (2015-08-15 05:46:38) >>> On Tue, Jul 07, 2015 at 07:24:23PM +0100, Morten Rasmussen wrote: >>>> diff --git a/kernel/sched/cpufreq_sched.c b/kernel/sched/cpufreq_sched.c >>>> index 2968f3a..7071528 100644 >>>> --- a/kernel/sched/cpufreq_sched.c >>>> +++ b/kernel/sched/cpufreq_sched.c >>>> @@ -184,7 +184,7 @@ void cpufreq_sched_set_cap(int cpu, unsigned long capacity) >>>> goto out; >>>> >>>> /* Convert the new maximum capacity request into a cpu frequency */ >>>> - freq_new = capacity * policy->max >> SCHED_CAPACITY_SHIFT; >>>> + freq_new = (capacity * policy->max) / capacity_orig_of(cpu); >>>> >>>> /* No change in frequency? Bail and return current capacity. */ >>>> if (freq_new == policy->cur) >>> >>> Can't we avoid exporting that lot by simply passing in the right values >>> to begin with? >> >> By "right value" do you mean, "pass the frequency from cfs"? > > Nah, just maybe: (capacity << SCHED_CAPACITY_SHIFT) / capacity_orig_of() > such that you don't have to export that knowledge to this thing. > Oh, right. I guess we can just go with something like: req_cap = get_cpu_usage(cpu) * capacity_margin / capacity_orig_of(cpu); on fair.c side and switch back to freq_new = capacity * policy->max >> SCHED_CAPACITY_SHIFT; on cpufreq_sched.c side. That saves us exporting capacity_orig_of(). Thanks, - Juri -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[toc] | [prev] | [standalone]
Back to top | Article view | linux.kernel
csiph-web