On 07-Mar-19 1:59 PM, Lukasz Krakowiak wrote:
Add UT check_power_turbo.
Signed-off-by: Lukasz Krakowiak <lukaszx.krakow...@intel.com>
---
app/test/test_power_cpufreq.c | 72 +++++++++++++++++++++++++++++++++++
1 file changed, 72 insertions(+)
diff --git a/app/test/test_power_cpufreq.c b/app/test/test_power_cpufreq.c
index d099f2f47..c75c9bf1c 100644
--- a/app/test/test_power_cpufreq.c
+++ b/app/test/test_power_cpufreq.c
@@ -366,6 +366,59 @@ check_power_freq_min(void)
return 0;
}
+/* Check rte_power_turbo() */
+static int
+check_power_turbo(void)
+{
+ int ret;
+
+ if (rte_power_turbo_status(TEST_POWER_LCORE_ID) == 0) {
+ printf("Turbo not available on lcore %u, skipping test\n",
+ TEST_POWER_LCORE_ID);
Misleading indentation, please add two tabs to the second line of
printf() statement.
+ return 0;
+ }
+
+ /* test with an invalid lcore id */
+ ret = rte_power_freq_enable_turbo(TEST_POWER_LCORE_INVALID);
+ if (ret >= 0) {
+ printf("Unexpectedly enable turbo successfully "
+ "on lcore %u\n", TEST_POWER_LCORE_INVALID);
Please don't break up strings to multiple lines.
+ return -1;
+ }
+ ret = rte_power_freq_enable_turbo(TEST_POWER_LCORE_ID);
+ if (ret < 0) {
+ printf("Fail to enable turbo on lcore %u\n",
+ TEST_POWER_LCORE_ID);
I wish there was a middle ground between no indentation and way too much
indentation...
+ return -1;
+ }
+
+ /* Check the current frequency */
+ ret = check_cur_freq(TEST_POWER_LCORE_ID, 0);
+ if (ret < 0)
+ return -1;
+
+ /* test with an invalid lcore id */
+ ret = rte_power_freq_disable_turbo(TEST_POWER_LCORE_INVALID);
+ if (ret >= 0) {
+ printf("Unexpectedly disable turbo successfully "
+ "on lcore %u\n", TEST_POWER_LCORE_INVALID);
Same as above, don't break up strings.
+ return -1;
+ }
+ ret = rte_power_freq_disable_turbo(TEST_POWER_LCORE_ID);
+ if (ret < 0) {
+ printf("Fail to disable turbo on lcore %u\n",
+ TEST_POWER_LCORE_ID);
Same as above, two tabs is enough indentation.
+ return -1;
+ }
+
+ /* Check the current frequency */
+ ret = check_cur_freq(TEST_POWER_LCORE_ID, 1);
+ if (ret < 0)
+ return -1;
+
+ return 0;
+}
+
static int
test_power_cpufreq(void)
{
@@ -427,6 +480,21 @@ test_power_cpufreq(void)
"been initialised\n");
goto fail_all;
}
+ if (rte_power_turbo_status == NULL) {
+ printf("rte_power_turbo_status should not be NULL, environment has
not "
+ "been initialised\n");
Here and below:
I don't think saying *why* it should not be NULL - just saying that it
shouldn't be NULL is enough. Maybe mention why it's supposed to be not
NULL in comments here.
Also, i have a suspicion that the message is wrong - why would status be
null if the environment was initialized? Presumably it's the other way
around?
+ goto fail_all;
+ }
+ if (rte_power_freq_enable_turbo == NULL) {
+ printf("rte_power_freq_enable_turbo should not be NULL, environment
has not "
+ "been initialised\n");
+ goto fail_all;
+ }
+ if (rte_power_freq_disable_turbo == NULL) {
+ printf("rte_power_freq_disable_turbo should not be NULL, environment
has not "
+ "been initialised\n");
+ goto fail_all;
+ }
ret = rte_power_exit(TEST_POWER_LCORE_ID);
if (ret < 0) {
@@ -502,6 +570,10 @@ test_power_cpufreq(void)
if (ret < 0)
goto fail_all;
+ ret = check_power_turbo();
+ if (ret < 0)
+ goto fail_all;
+
ret = rte_power_exit(TEST_POWER_LCORE_ID);
if (ret < 0) {
printf("Cannot exit power management for lcore %u\n",
--
Thanks,
Anatoly