Message ID | 20190529093033.30068-1-huntbag@linux.vnet.ibm.com (mailing list archive) |
---|---|
State | Accepted |
Delegated to: | Shuah Khan |
Headers | show |
Series | cpupower : frequency-set -r option misses the last cpu in related cpu list | expand |
Hi Abhishek, On Wed, May 29, 2019 at 3:02 PM Abhishek Goel <huntbag@linux.vnet.ibm.com> wrote: > > To set frequency on specific cpus using cpupower, following syntax can > be used : > cpupower -c #i frequency-set -f #f -r > > While setting frequency using cpupower frequency-set command, if we use > '-r' option, it is expected to set frequency for all cpus related to > cpu #i. But it is observed to be missing the last cpu in related cpu > list. This patch fixes the problem. > > Signed-off-by: Abhishek Goel <huntbag@linux.vnet.ibm.com> > --- > tools/power/cpupower/utils/cpufreq-set.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/tools/power/cpupower/utils/cpufreq-set.c b/tools/power/cpupower/utils/cpufreq-set.c > index 1eef0aed6..08a405593 100644 > --- a/tools/power/cpupower/utils/cpufreq-set.c > +++ b/tools/power/cpupower/utils/cpufreq-set.c > @@ -306,6 +306,8 @@ int cmd_freq_set(int argc, char **argv) > bitmask_setbit(cpus_chosen, cpus->cpu); > cpus = cpus->next; > } > + /* Set the last cpu in related cpus list */ > + bitmask_setbit(cpus_chosen, cpus->cpu); Perhaps you could convert the while() loop to a do .. while(). That should will ensure that we terminate the loop after setting the last valid CPU. > cpufreq_put_related_cpus(cpus); > } > } > -- > 2.17.1 >
Hi, On Wednesday, May 29, 2019 2:12:34 PM CEST Gautham R Shenoy wrote: > Hi Abhishek, > > On Wed, May 29, 2019 at 3:02 PM Abhishek Goel ... > > bitmask_setbit(cpus_chosen, cpus->cpu); > > cpus = cpus->next; > > > > } > > > > + /* Set the last cpu in related cpus list */ > > + bitmask_setbit(cpus_chosen, cpus->cpu); > > Perhaps you could convert the while() loop to a do .. while(). That > should will ensure > that we terminate the loop after setting the last valid CPU. It would do exactly the same, right? IMHO it's not worth the extra hassle of resubmitting. Setting the last value outside a while loop is rather common. I do not have a CPU with related cores at hand. If you tested this it would be nice to see this pushed: Reviewed-by: Thomas Renninger <trenn@suse.de> Thanks! Thomas
On 5/29/19 8:21 AM, Thomas Renninger wrote: > Hi, > > On Wednesday, May 29, 2019 2:12:34 PM CEST Gautham R Shenoy wrote: >> Hi Abhishek, >> >> On Wed, May 29, 2019 at 3:02 PM Abhishek Goel > > ... > >>> bitmask_setbit(cpus_chosen, cpus->cpu); >>> cpus = cpus->next; >>> >>> } >>> >>> + /* Set the last cpu in related cpus list */ >>> + bitmask_setbit(cpus_chosen, cpus->cpu); >> >> Perhaps you could convert the while() loop to a do .. while(). That >> should will ensure >> that we terminate the loop after setting the last valid CPU. > > It would do exactly the same, right? > IMHO it's not worth the extra hassle of resubmitting. Setting the last value > outside a while loop is rather common. > > I do not have a CPU with related cores at hand. > If you tested this it would be nice to see this pushed: > > Reviewed-by: Thomas Renninger <trenn@suse.de> > Applied to https://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux.git/ cpupower branch. thanks, -- Shuah
diff --git a/tools/power/cpupower/utils/cpufreq-set.c b/tools/power/cpupower/utils/cpufreq-set.c index 1eef0aed6..08a405593 100644 --- a/tools/power/cpupower/utils/cpufreq-set.c +++ b/tools/power/cpupower/utils/cpufreq-set.c @@ -306,6 +306,8 @@ int cmd_freq_set(int argc, char **argv) bitmask_setbit(cpus_chosen, cpus->cpu); cpus = cpus->next; } + /* Set the last cpu in related cpus list */ + bitmask_setbit(cpus_chosen, cpus->cpu); cpufreq_put_related_cpus(cpus); } }
To set frequency on specific cpus using cpupower, following syntax can be used : cpupower -c #i frequency-set -f #f -r While setting frequency using cpupower frequency-set command, if we use '-r' option, it is expected to set frequency for all cpus related to cpu #i. But it is observed to be missing the last cpu in related cpu list. This patch fixes the problem. Signed-off-by: Abhishek Goel <huntbag@linux.vnet.ibm.com> --- tools/power/cpupower/utils/cpufreq-set.c | 2 ++ 1 file changed, 2 insertions(+)