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

From: Thomas Renninger
Date: Thu Sep 12 2019 - 05:55:21 EST


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
setting/info

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>

Thanks!

Thomas

--- 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))