All of lore.kernel.org
 help / color / mirror / Atom feed
From: David Hunt <david.hunt@intel.com>
To: dev@dpdk.org
Cc: david.hunt@intel.com, stable@dpdk.org
Subject: [dpdk-dev] [PATCH v1 2/4] test/power: add turbo mode to freq check function
Date: Thu, 22 Apr 2021 15:40:28 +0100	[thread overview]
Message-ID: <20210422144030.16746-2-david.hunt@intel.com> (raw)
In-Reply-To: <20210422144030.16746-1-david.hunt@intel.com>

With the intel_pstate driver and turbo enabled, the top frequency in
the frequency array is the P1+1, i.e. 2300001, whereas the frequency
shown in scaling_cur_freq could be a lot higher.

This patch adds a flag to the check_cur_freq function so that we can
specify if a frequency is greater than expected (turbo mode), in which
case the check should be successful.

Fixes: aeaeaf5f2d62 ("test/power: add cases for turbo feature")
Cc: stable@dpdk.org

Signed-off-by: David Hunt <david.hunt@intel.com>
---
 app/test/test_power_cpufreq.c | 27 +++++++++++++++------------
 1 file changed, 15 insertions(+), 12 deletions(-)

diff --git a/app/test/test_power_cpufreq.c b/app/test/test_power_cpufreq.c
index 52f58ef8b2..33a68cf645 100644
--- a/app/test/test_power_cpufreq.c
+++ b/app/test/test_power_cpufreq.c
@@ -48,7 +48,7 @@ static uint32_t total_freq_num;
 static uint32_t freqs[TEST_POWER_FREQS_NUM_MAX];
 
 static int
-check_cur_freq(unsigned lcore_id, uint32_t idx)
+check_cur_freq(unsigned int lcore_id, uint32_t idx, int turbo)
 {
 #define TEST_POWER_CONVERT_TO_DECIMAL 10
 #define MAX_LOOP 100
@@ -90,7 +90,10 @@ check_cur_freq(unsigned lcore_id, uint32_t idx)
 					/ TEST_ROUND_FREQ_TO_N_100000;
 		freq_conv = freq_conv * TEST_ROUND_FREQ_TO_N_100000;
 
-		ret = (freqs[idx] == freq_conv ? 0 : -1);
+		if (turbo)
+			ret = (freqs[idx] <= freq_conv ? 0 : -1);
+		else
+			ret = (freqs[idx] == freq_conv ? 0 : -1);
 
 		if (ret == 0)
 			break;
@@ -183,7 +186,7 @@ check_power_get_freq(void)
 	}
 
 	/* Check the current frequency */
-	ret = check_cur_freq(TEST_POWER_LCORE_ID, count);
+	ret = check_cur_freq(TEST_POWER_LCORE_ID, count, 0);
 	if (ret < 0)
 		return -1;
 
@@ -233,7 +236,7 @@ check_power_set_freq(void)
 	}
 
 	/* Check the current frequency */
-	ret = check_cur_freq(TEST_POWER_LCORE_ID, total_freq_num - 1);
+	ret = check_cur_freq(TEST_POWER_LCORE_ID, total_freq_num - 1, 0);
 	if (ret < 0)
 		return -1;
 
@@ -269,7 +272,7 @@ check_power_freq_down(void)
 	}
 
 	/* Check the current frequency */
-	ret = check_cur_freq(TEST_POWER_LCORE_ID, total_freq_num - 1);
+	ret = check_cur_freq(TEST_POWER_LCORE_ID, total_freq_num - 1, 0);
 	if (ret < 0)
 		return -1;
 
@@ -288,7 +291,7 @@ check_power_freq_down(void)
 	}
 
 	/* Check the current frequency */
-	ret = check_cur_freq(TEST_POWER_LCORE_ID, 1);
+	ret = check_cur_freq(TEST_POWER_LCORE_ID, 1, 0);
 	if (ret < 0)
 		return -1;
 
@@ -324,7 +327,7 @@ check_power_freq_up(void)
 	}
 
 	/* Check the current frequency */
-	ret = check_cur_freq(TEST_POWER_LCORE_ID, total_freq_num - 2);
+	ret = check_cur_freq(TEST_POWER_LCORE_ID, total_freq_num - 2, 0);
 	if (ret < 0)
 		return -1;
 
@@ -343,7 +346,7 @@ check_power_freq_up(void)
 	}
 
 	/* Check the current frequency */
-	ret = check_cur_freq(TEST_POWER_LCORE_ID, 0);
+	ret = check_cur_freq(TEST_POWER_LCORE_ID, 0, 1);
 	if (ret < 0)
 		return -1;
 
@@ -371,7 +374,7 @@ check_power_freq_max(void)
 	}
 
 	/* Check the current frequency */
-	ret = check_cur_freq(TEST_POWER_LCORE_ID, 0);
+	ret = check_cur_freq(TEST_POWER_LCORE_ID, 0, 1);
 	if (ret < 0)
 		return -1;
 
@@ -399,7 +402,7 @@ check_power_freq_min(void)
 	}
 
 	/* Check the current frequency */
-	ret = check_cur_freq(TEST_POWER_LCORE_ID, total_freq_num - 1);
+	ret = check_cur_freq(TEST_POWER_LCORE_ID, total_freq_num - 1, 0);
 	if (ret < 0)
 		return -1;
 
@@ -433,7 +436,7 @@ check_power_turbo(void)
 	}
 
 	/* Check the current frequency */
-	ret = check_cur_freq(TEST_POWER_LCORE_ID, 0);
+	ret = check_cur_freq(TEST_POWER_LCORE_ID, 0, 1);
 	if (ret < 0)
 		return -1;
 
@@ -452,7 +455,7 @@ check_power_turbo(void)
 	}
 
 	/* Check the current frequency */
-	ret = check_cur_freq(TEST_POWER_LCORE_ID, 1);
+	ret = check_cur_freq(TEST_POWER_LCORE_ID, 1, 0);
 	if (ret < 0)
 		return -1;
 
-- 
2.17.1


  reply	other threads:[~2021-04-22 14:40 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-04-22 14:40 [dpdk-dev] [PATCH v1 1/4] test/power: fix check for cpu frequency David Hunt
2021-04-22 14:40 ` David Hunt [this message]
2021-04-22 16:13   ` [dpdk-dev] [PATCH v1 2/4] test/power: add turbo mode to freq check function Burakov, Anatoly
2021-05-12 15:34     ` [dpdk-dev] [dpdk-stable] " Thomas Monjalon
2021-05-12 16:38       ` David Hunt
2021-04-22 14:40 ` [dpdk-dev] [PATCH v1 3/4] test/power: fix low freq test when turbo enabled David Hunt
2021-04-22 14:40 ` [dpdk-dev] [PATCH v1 4/4] test/power: fix turbo test David Hunt
2021-04-29 10:34 ` [dpdk-dev] [PATCH v1 1/4] test/power: fix check for cpu frequency Pattan, Reshma
2021-05-11 13:27   ` [dpdk-dev] [dpdk-stable] " Thomas Monjalon
2021-05-11 14:41   ` [dpdk-dev] " David Hunt
2021-05-11 14:46     ` Pattan, Reshma
2021-05-12 16:32 ` [dpdk-dev] [PATCH v2 " David Hunt
2021-05-12 16:32   ` [dpdk-dev] [PATCH v2 2/4] test/power: add turbo mode to freq check function David Hunt
2021-05-12 16:32   ` [dpdk-dev] [PATCH v2 3/4] test/power: fix low freq test when turbo enabled David Hunt
2021-05-12 16:32   ` [dpdk-dev] [PATCH v2 4/4] test/power: fix turbo test David Hunt
2021-05-12 20:05     ` [dpdk-dev] [dpdk-stable] " Thomas Monjalon

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=20210422144030.16746-2-david.hunt@intel.com \
    --to=david.hunt@intel.com \
    --cc=dev@dpdk.org \
    --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.