Message ID | 20240702171515.6780-2-mario.limonciello@amd.com (mailing list archive) |
---|---|
State | Changes Requested |
Delegated to: | Mario Limonciello |
Headers | show |
Series | [1/2] cpufreq/amd-pstate-ut: Don't check for highest perf matching on prefcore | expand |
Hello Mario, Mario Limonciello <mario.limonciello@amd.com> writes: > cpudata->boost_supported will only be configured when a CPU actually > supports core performance boost. Add an extra guard into the check > to ensure it only runs when CPB is present. > > Fixes: 14eb1c96e3a3 ("cpufreq: amd-pstate: Add test module for amd-pstate driver") > Signed-off-by: Mario Limonciello <mario.limonciello@amd.com> > --- > drivers/cpufreq/amd-pstate-ut.c | 18 +++++++++--------- > 1 file changed, 9 insertions(+), 9 deletions(-) > > diff --git a/drivers/cpufreq/amd-pstate-ut.c b/drivers/cpufreq/amd-pstate-ut.c > index b7318669485e..b011c729fcba 100644 > --- a/drivers/cpufreq/amd-pstate-ut.c > +++ b/drivers/cpufreq/amd-pstate-ut.c > @@ -232,21 +232,21 @@ static void amd_pstate_ut_check_freq(u32 index) > goto skip_test; > } > > - if (cpudata->boost_supported) { > - if ((policy->max == cpudata->max_freq) || > - (policy->max == nominal_freq_khz)) > - amd_pstate_ut_cases[index].result = AMD_PSTATE_UT_RESULT_PASS; > - else { > + if (cpu_feature_enabled(X86_FEATURE_CPB)) { > + if (!cpudata->boost_supported) { > + amd_pstate_ut_cases[index].result = AMD_PSTATE_UT_RESULT_FAIL; > + pr_err("%s cpu%d must support boost!\n", __func__, cpu); > + goto skip_test; > + } > + if ((policy->max != cpudata->max_freq) && > + (policy->max != nominal_freq_khz)) { Writing a different value into /sys/devices/system/cpu/cpuX/cpufreq/scaling_max_freq, updates the policy->max for cpuX. So if a user runs this test case after someone has changed the scaling_max_freq, the test case will fail. While this is not due to your patch, I wonder if this is valid test-case. > amd_pstate_ut_cases[index].result = AMD_PSTATE_UT_RESULT_FAIL; > pr_err("%s cpu%d policy_max=%d should be equal cpu_max=%d or cpu_nominal=%d !\n", > __func__, cpu, policy->max, cpudata->max_freq, > nominal_freq_khz); > goto skip_test; > } > - } else { > - amd_pstate_ut_cases[index].result = AMD_PSTATE_UT_RESULT_FAIL; > - pr_err("%s cpu%d must support boost!\n", __func__, cpu); > - goto skip_test; > + amd_pstate_ut_cases[index].result = AMD_PSTATE_UT_RESULT_PASS; > } > cpufreq_cpu_put(policy); > } > -- > 2.43.0 -- Thanks and Regards gautham.
diff --git a/drivers/cpufreq/amd-pstate-ut.c b/drivers/cpufreq/amd-pstate-ut.c index b7318669485e..b011c729fcba 100644 --- a/drivers/cpufreq/amd-pstate-ut.c +++ b/drivers/cpufreq/amd-pstate-ut.c @@ -232,21 +232,21 @@ static void amd_pstate_ut_check_freq(u32 index) goto skip_test; } - if (cpudata->boost_supported) { - if ((policy->max == cpudata->max_freq) || - (policy->max == nominal_freq_khz)) - amd_pstate_ut_cases[index].result = AMD_PSTATE_UT_RESULT_PASS; - else { + if (cpu_feature_enabled(X86_FEATURE_CPB)) { + if (!cpudata->boost_supported) { + amd_pstate_ut_cases[index].result = AMD_PSTATE_UT_RESULT_FAIL; + pr_err("%s cpu%d must support boost!\n", __func__, cpu); + goto skip_test; + } + if ((policy->max != cpudata->max_freq) && + (policy->max != nominal_freq_khz)) { amd_pstate_ut_cases[index].result = AMD_PSTATE_UT_RESULT_FAIL; pr_err("%s cpu%d policy_max=%d should be equal cpu_max=%d or cpu_nominal=%d !\n", __func__, cpu, policy->max, cpudata->max_freq, nominal_freq_khz); goto skip_test; } - } else { - amd_pstate_ut_cases[index].result = AMD_PSTATE_UT_RESULT_FAIL; - pr_err("%s cpu%d must support boost!\n", __func__, cpu); - goto skip_test; + amd_pstate_ut_cases[index].result = AMD_PSTATE_UT_RESULT_PASS; } cpufreq_cpu_put(policy); }
cpudata->boost_supported will only be configured when a CPU actually supports core performance boost. Add an extra guard into the check to ensure it only runs when CPB is present. Fixes: 14eb1c96e3a3 ("cpufreq: amd-pstate: Add test module for amd-pstate driver") Signed-off-by: Mario Limonciello <mario.limonciello@amd.com> --- drivers/cpufreq/amd-pstate-ut.c | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-)