2024-01-30 05:58:38

by Yuan, Perry

[permalink] [raw]
Subject: [PATCH Resend 6/8] tools/power x86_energy_perf_policy: remove the invalid feature options for AMD processors

EPB feature is not supported by AMD CPU, remove the unsupported options
to advoid confusion for the failure result when using the parameters.

Here is the new help output with below command.
$ sudo ./x86_energy_perf_policy -h

/x86_energy_perf_policy [options] [scope][field value]
scope: --cpu cpu-list [--hwp-use-pkg #] | --pkg pkg-list
field: --all | --hwp-epp | --hwp-min | --hwp-max | --hwp-desired
other: --hwp-enable | --turbo-enable (0 | 1) | --help | --force
value: ( # | "normal" | "performance" | "balance-performance" |
"balance-power"| "power")
--hwp-window usec
/x86_energy_perf_policy: [-c cpu] [-v] (-r | policy-value )

Signed-off-by: Perry Yuan <[email protected]>
---
.../x86_energy_perf_policy.c | 15 ++++++++++-----
1 file changed, 10 insertions(+), 5 deletions(-)

diff --git a/tools/power/x86/x86_energy_perf_policy/x86_energy_perf_policy.c b/tools/power/x86/x86_energy_perf_policy/x86_energy_perf_policy.c
index 7bc668d22728..ada1aaabad8c 100644
--- a/tools/power/x86/x86_energy_perf_policy/x86_energy_perf_policy.c
+++ b/tools/power/x86/x86_energy_perf_policy/x86_energy_perf_policy.c
@@ -105,13 +105,18 @@ void usage(void)
{
fprintf(stderr, "%s [options] [scope][field value]\n", progname);
fprintf(stderr, "scope: --cpu cpu-list [--hwp-use-pkg #] | --pkg pkg-list\n");
- fprintf(stderr, "field: --all | --epb | --hwp-epp | --hwp-min | --hwp-max | --hwp-desired\n");
+
+ if (genuine_intel)
+ fprintf(stderr, "field: --all | --epb | --hwp-epp | --hwp-min | --hwp-max | --hwp-desired\n");
+ else if (authentic_amd)
+ fprintf(stderr, "field: --all | --hwp-epp | --hwp-min | --hwp-max | --hwp-desired\n");
+
fprintf(stderr, "other: --hwp-enable | --turbo-enable (0 | 1) | --help | --force\n");
fprintf(stderr,
"value: ( # | \"normal\" | \"performance\" | \"balance-performance\" | \"balance-power\"| \"power\")\n");
fprintf(stderr, "--hwp-window usec\n");
-
- fprintf(stderr, "Specify only Energy Performance BIAS (legacy usage):\n");
+ if (genuine_intel)
+ fprintf(stderr, "Specify only Energy Performance BIAS (legacy usage):\n");
fprintf(stderr, "%s: [-c cpu] [-v] (-r | policy-value )\n", progname);

exit(1);
@@ -1309,7 +1314,7 @@ int update_cpu_msrs(int cpu)
unsigned long long msr;
int epb;

- if (update_epb) {
+ if (update_epb && genuine_intel) {
epb = get_epb(cpu);
set_epb(cpu, new_epb);

@@ -1318,7 +1323,7 @@ int update_cpu_msrs(int cpu)
cpu, epb, (unsigned int) new_epb);
}

- if (update_turbo) {
+ if (update_turbo && genuine_intel) {
int turbo_is_present_and_disabled;

intel_get_msr(cpu, MSR_IA32_MISC_ENABLE, &msr);
--
2.34.1



2024-01-30 19:55:44

by Mario Limonciello

[permalink] [raw]
Subject: Re: [PATCH Resend 6/8] tools/power x86_energy_perf_policy: remove the invalid feature options for AMD processors

On 1/29/2024 23:56, Perry Yuan wrote:
> EPB feature is not supported by AMD CPU, remove the unsupported options
> to advoid confusion for the failure result when using the parameters.
>
> Here is the new help output with below command.
> $ sudo ./x86_energy_perf_policy -h
>
> ./x86_energy_perf_policy [options] [scope][field value]
> scope: --cpu cpu-list [--hwp-use-pkg #] | --pkg pkg-list
> field: --all | --hwp-epp | --hwp-min | --hwp-max | --hwp-desired
> other: --hwp-enable | --turbo-enable (0 | 1) | --help | --force
> value: ( # | "normal" | "performance" | "balance-performance" |
> "balance-power"| "power")
> --hwp-window usec
> ./x86_energy_perf_policy: [-c cpu] [-v] (-r | policy-value )
>
> Signed-off-by: Perry Yuan <[email protected]>
Reviewed-by: Mario Limonciello <[email protected]>
> ---
> .../x86_energy_perf_policy.c | 15 ++++++++++-----
> 1 file changed, 10 insertions(+), 5 deletions(-)
>
> diff --git a/tools/power/x86/x86_energy_perf_policy/x86_energy_perf_policy.c b/tools/power/x86/x86_energy_perf_policy/x86_energy_perf_policy.c
> index 7bc668d22728..ada1aaabad8c 100644
> --- a/tools/power/x86/x86_energy_perf_policy/x86_energy_perf_policy.c
> +++ b/tools/power/x86/x86_energy_perf_policy/x86_energy_perf_policy.c
> @@ -105,13 +105,18 @@ void usage(void)
> {
> fprintf(stderr, "%s [options] [scope][field value]\n", progname);
> fprintf(stderr, "scope: --cpu cpu-list [--hwp-use-pkg #] | --pkg pkg-list\n");
> - fprintf(stderr, "field: --all | --epb | --hwp-epp | --hwp-min | --hwp-max | --hwp-desired\n");
> +
> + if (genuine_intel)
> + fprintf(stderr, "field: --all | --epb | --hwp-epp | --hwp-min | --hwp-max | --hwp-desired\n");
> + else if (authentic_amd)
> + fprintf(stderr, "field: --all | --hwp-epp | --hwp-min | --hwp-max | --hwp-desired\n");
> +
> fprintf(stderr, "other: --hwp-enable | --turbo-enable (0 | 1) | --help | --force\n");
> fprintf(stderr,
> "value: ( # | \"normal\" | \"performance\" | \"balance-performance\" | \"balance-power\"| \"power\")\n");
> fprintf(stderr, "--hwp-window usec\n");
> -
> - fprintf(stderr, "Specify only Energy Performance BIAS (legacy usage):\n");
> + if (genuine_intel)
> + fprintf(stderr, "Specify only Energy Performance BIAS (legacy usage):\n");
> fprintf(stderr, "%s: [-c cpu] [-v] (-r | policy-value )\n", progname);
>
> exit(1);
> @@ -1309,7 +1314,7 @@ int update_cpu_msrs(int cpu)
> unsigned long long msr;
> int epb;
>
> - if (update_epb) {
> + if (update_epb && genuine_intel) {
> epb = get_epb(cpu);
> set_epb(cpu, new_epb);
>
> @@ -1318,7 +1323,7 @@ int update_cpu_msrs(int cpu)
> cpu, epb, (unsigned int) new_epb);
> }
>
> - if (update_turbo) {
> + if (update_turbo && genuine_intel) {
> int turbo_is_present_and_disabled;
>
> intel_get_msr(cpu, MSR_IA32_MISC_ENABLE, &msr);