On 14/7/2021 9:44 AM, Richael Zhuang wrote:
For acpi_cpufreq and cppc_cpufreq, both cpuinfo_cur_freq and
scaling_cur_freq exist. For pstate, only scaling_cur_freq exists.
And value in scaling_cur_freq and cpuinfo_cur_freq may not be the
same. For acpi_cpufreq and cppc_cpufreq, we should check
cpuinfo_cur_freq. So here checking cpuinfo_cur_freq before
scaling_cur_freq to make sure it works for all cpufreq drivers.
Fixes: ff6dfb8e492f ("test/power: fix CPU frequency check")
Cc: david.h...@intel.com
Cc: sta...@dpdk.org
Signed-off-by: Richael Zhuang <richael.zhu...@arm.com>
---
app/test/test_power_cpufreq.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/app/test/test_power_cpufreq.c b/app/test/test_power_cpufreq.c
index b8fc53925c..f56abb6f86 100644
--- a/app/test/test_power_cpufreq.c
+++ b/app/test/test_power_cpufreq.c
@@ -62,13 +62,13 @@ check_cur_freq(unsigned int lcore_id, uint32_t idx, bool
turbo)
int i;
if (snprintf(fullpath, sizeof(fullpath),
- TEST_POWER_SYSFILE_SCALING_FREQ, lcore_id) < 0) {
+ TEST_POWER_SYSFILE_CPUINFO_FREQ, lcore_id) < 0) {
return 0;
}
f = fopen(fullpath, "r");
if (f == NULL) {
if (snprintf(fullpath, sizeof(fullpath),
- TEST_POWER_SYSFILE_CPUINFO_FREQ, lcore_id) < 0) {
+ TEST_POWER_SYSFILE_SCALING_FREQ, lcore_id) < 0) {
return 0;
}
f = fopen(fullpath, "r");
Hi Richael, I don't think this patch fixes anything. If the scaling file
is not available, it will then attempt to open the cpuinfo file.
Changing the order does not address the underlying issue.
It looks like the test is failing in check_cur_req, which is only
rounding for cppc driver. I think it also needs to round for the other
drivers. I've just checked intel_pstate driver now, and it needs the
rounding. I would think that acpi driver also needs it. I'll do a bit
more investigation and see if I canĀ change to acpi and attempt to
confirm that all drivers need the rounding.
Rgds,
Dave.