All of lore.kernel.org
 help / color / mirror / Atom feed
From: Richael Zhuang <richael.zhuang@arm.com>
To: dev@dpdk.org
Cc: nd@arm.com, alan.carew@intel.com, stable@dpdk.org,
	David Hunt <david.hunt@intel.com>,
	Pablo de Lara <pablo.de.lara.guarch@intel.com>
Subject: [dpdk-dev] [PATCH v5 2/2] test/power: round cpuinfo cur freq value in cpufreq autotest
Date: Thu, 15 Apr 2021 13:59:30 +0800	[thread overview]
Message-ID: <20210415055930.3899-3-richael.zhuang@arm.com> (raw)
In-Reply-To: <20210415055930.3899-1-richael.zhuang@arm.com>

The value in "/sys/.../cpuinfo_cur_freq" may not be exactly the
same as what was set. For example, if "2400000" is written to
"/sys/.../cpufreq/scaling_setspeed" to set the frequency, then the
value in "/sys/.../cpuinfo_cur_freq" may be "2401222". So need to
round the value.

Fixes: ed7c51a6a680 ("app/test: vm power management")
Cc: alan.carew@intel.com
Cc: stable@dpdk.org

Signed-off-by: Richael Zhuang <richael.zhuang@arm.com>
---
 app/test/test_power_cpufreq.c | 16 +++++++++++++++-
 1 file changed, 15 insertions(+), 1 deletion(-)

diff --git a/app/test/test_power_cpufreq.c b/app/test/test_power_cpufreq.c
index d47b3e0a1..f753d24ac 100644
--- a/app/test/test_power_cpufreq.c
+++ b/app/test/test_power_cpufreq.c
@@ -35,6 +35,10 @@ test_power_caps(void)
 #define TEST_POWER_LCORE_INVALID ((unsigned)RTE_MAX_LCORE)
 #define TEST_POWER_FREQS_NUM_MAX ((unsigned)RTE_MAX_LCORE_FREQS)
 
+/* macros used for rounding frequency to nearest 100000 */
+#define TEST_FREQ_ROUNDING_DELTA 50000
+#define TEST_ROUND_FREQ_TO_N_100000 100000
+
 #define TEST_POWER_SYSFILE_CUR_FREQ \
 	"/sys/devices/system/cpu/cpu%u/cpufreq/cpuinfo_cur_freq"
 
@@ -67,7 +71,17 @@ check_cur_freq(unsigned lcore_id, uint32_t idx)
 			goto fail_all;
 
 		cur_freq = strtoul(buf, NULL, TEST_POWER_CONVERT_TO_DECIMAL);
-		ret = (freqs[idx] == cur_freq ? 0 : -1);
+
+		/* convert the frequency to nearest 100000 value
+		 * Ex: if cur_freq=1396789 then freq_conv=1400000
+		 * Ex: if cur_freq=800030 then freq_conv=800000
+		 */
+		unsigned int freq_conv = 0;
+		freq_conv = (cur_freq + TEST_FREQ_ROUNDING_DELTA)
+					/ TEST_ROUND_FREQ_TO_N_100000;
+		freq_conv = freq_conv * TEST_ROUND_FREQ_TO_N_100000;
+
+		ret = (freqs[idx] == freq_conv ? 0 : -1);
 
 		if (ret == 0)
 			break;
-- 
2.20.1


  parent reply	other threads:[~2021-04-15  5:59 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-04-06  3:04 [dpdk-dev] [PATCH v1 2/2] test/power: fix a bug in cpufreq autotest Richael Zhuang
2021-04-06  3:41 ` Richael Zhuang
2021-04-07  2:39   ` [dpdk-dev] [PATCH v2 " Richael Zhuang
2021-04-07  7:46     ` [dpdk-dev] [PATCH v3 0/3] test/power: fix bugs in cpufreq test Richael Zhuang
2021-04-07  7:46       ` [dpdk-dev] [PATCH v3 1/3] test/power: round cpuinfo cur freq value in cpufreq autotest Richael Zhuang
2021-04-15  5:39         ` [dpdk-dev] [PATCH v4 0/2] test/power: fix bugs in cpufreq test Richael Zhuang
2021-04-15  5:39           ` [dpdk-dev] [PATCH v4 1/2] test/power: round cpuinfo cur freq value in cpufreq autotest Richael Zhuang
2021-04-15  5:39           ` [dpdk-dev] [PATCH v4 2/2] test/power: add delay before checking cpuinfo cur freq Richael Zhuang
2021-04-15  5:59         ` [dpdk-dev] [PATCH v5 0/2] test/power: fix bugs in cpufreq test Richael Zhuang
2021-04-15  5:59           ` [dpdk-dev] [PATCH v5 1/2] test/power: add delay before checking cpuinfo cur freq Richael Zhuang
2021-04-20 12:38             ` David Hunt
2021-04-20 13:15               ` David Hunt
2021-04-21  2:41               ` Richael Zhuang
2021-04-15  5:59           ` Richael Zhuang [this message]
2021-04-20 14:01             ` [dpdk-dev] [PATCH v5 2/2] test/power: round cpuinfo cur freq value in cpufreq autotest David Hunt
2021-04-19 16:31           ` [dpdk-dev] [PATCH v5 0/2] test/power: fix bugs in cpufreq test Thomas Monjalon
2021-04-21 17:22           ` Thomas Monjalon
2021-04-07  7:46       ` [dpdk-dev] [PATCH v3 2/3] test/power: fix a bug in cpufreq autotest Richael Zhuang
2021-04-07  9:58         ` Burakov, Anatoly
2021-04-08  2:10           ` Richael Zhuang
2021-04-08 14:55             ` Burakov, Anatoly
2021-04-12  2:08               ` Richael Zhuang
2021-04-14  8:29               ` Richael Zhuang
2021-04-07  7:46       ` [dpdk-dev] [PATCH v3 3/3] test/power: add delay before checking cpuinfo cur freq Richael Zhuang
2021-04-07 10:14         ` Liang Ma
2021-04-08  5:10           ` Richael Zhuang
2021-04-08  5:16           ` Richael Zhuang
2021-04-08  7:54             ` Liang Ma
2021-04-08  9:08               ` Richael Zhuang

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20210415055930.3899-3-richael.zhuang@arm.com \
    --to=richael.zhuang@arm.com \
    --cc=alan.carew@intel.com \
    --cc=david.hunt@intel.com \
    --cc=dev@dpdk.org \
    --cc=nd@arm.com \
    --cc=pablo.de.lara.guarch@intel.com \
    --cc=stable@dpdk.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.