[Resend,6/8] tools/power x86_energy_perf_policy: remove the invalid feature options for AMD processors

Message ID bc53456d6748a7fcb6a0c3ea3f136873fbf1d646.1706592301.git.perry.yuan@amd.com
State New
Headers
Series enable x86_energy_perf_policy for AMD CPU |

Commit Message

Yuan, Perry Jan. 30, 2024, 5:56 a.m. UTC
  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 <perry.yuan@amd.com>
---
 .../x86_energy_perf_policy.c                      | 15 ++++++++++-----
 1 file changed, 10 insertions(+), 5 deletions(-)
  

Comments

Mario Limonciello Jan. 30, 2024, 7:54 p.m. UTC | #1
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 <perry.yuan@amd.com>
Reviewed-by: Mario Limonciello <mario.limonciello@amd.com>
> ---
>   .../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);
  

Patch

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