Re: [PATCH] cpupower : Handle set and info subcommands for powerpc

From: Abhishek
Date: Thu Sep 12 2019 - 06:19:39 EST

Hi Thomas,

Thanks for the review.

On 09/12/2019 03:24 PM, Thomas Renninger wrote:
Hi Abishek,

On Wednesday, September 11, 2019 11:54:24 AM CEST Abhishek Goel wrote:
Cpupower tool has set and info options which are not being used by
POWER machines. For powerpc, we will return directly for these two
subcommands. This removes the ambiguous error message while using set
option in case of power systems.

Signed-off-by: Abhishek Goel <huntbag@xxxxxxxxxxxxxxxxxx>
tools/power/cpupower/utils/cpupower-info.c | 5 +++++
tools/power/cpupower/utils/cpupower-set.c | 5 +++++
2 files changed, 10 insertions(+)

diff --git a/tools/power/cpupower/utils/cpupower-info.c
b/tools/power/cpupower/utils/cpupower-info.c index
4c9d342b70ff..674b707a76af 100644
--- a/tools/power/cpupower/utils/cpupower-info.c
+++ b/tools/power/cpupower/utils/cpupower-info.c
@@ -39,6 +39,11 @@ int cmd_info(int argc, char **argv)
} params = {};
int ret = 0;

+ #ifdef __powerpc__
+ printf(_("Cannot read info as system does not support performance bias
setting\n")); + return 0;
+ #endif
Please do no do this.

cpupower info
is designed to show general information related to powersaving features of your CPU.

For examle there has been (see changelog):
cpupower: Remove mc and smt power aware scheduler info/settings
These kernel interfaces got removed by:

Unfortunately only -b (perf bias on Intel only) is left right now.

So if you cut this out for Power you do not see anything and the cmd is useless.
Which is a pity, but for now makes sense.
Ideally you provide some tag/option which makes sense on power (e.g. whether run
in OPAL mode and if provide some figures otherwise tell running in VM mode).
But if this is cut out something like this should do the same and is more flexible:
- Still allows additional cpupower info features for other CPUs later easily
- Should also cover AMD or other non-perf bias supporting CPUs to exclude perf_bias

As I have suggested in here :
We should cut out these two options as of now for other architecture
except x86, since the current implementation of both these subcommands
are very intel specific.
As you have already suggested, we can later on maybe change the
documentation of info to be architecture specific and use info based on
arch requirement.

If this one works for you, can you please re-submit with also handling the set cmd
similar. If it works or you only slightly adjust, feel free to already add:
Acked-by: Thomas Renninger <trenn@xxxxxxx>

Yeah. Sure.



--- tools/power/cpupower/utils/cpupower-info.c.orig 2019-09-12 11:45:02.578568335 +0200
+++ tools/power/cpupower/utils/cpupower-info.c 2019-09-12 11:46:09.618571947 +0200
@@ -55,8 +55,11 @@

- if (!params.params)
+ if (!params.params) {
params.params = 0x7;
+ if !(cpupower_cpu_info.caps & CPUPOWER_CAP_PERF_BIAS)
+ params.perf_bias = 0;
+ }

/* Default is: show output of CPU 0 only */
if (bitmask_isallclear(cpus_chosen))

-- Abhishek