Skip to content

Commit

Permalink
test/power: add cases for turbo feature
Browse files Browse the repository at this point in the history
Add UT check_power_turbo.

Signed-off-by: Lukasz Krakowiak <lukaszx.krakowiak@intel.com>
Acked-by: David Hunt <david.hunt@intel.com>
Tested-by: Marcin Hajkowski <marcinx.hajkowski@intel.com>
  • Loading branch information
Lukasz Krakowiak authored and tmonjalo committed Jul 5, 2019
1 parent c7ec1f2 commit aeaeaf5
Showing 1 changed file with 72 additions and 0 deletions.
72 changes: 72 additions & 0 deletions app/test/test_power_cpufreq.c
Original file line number Diff line number Diff line change
Expand Up @@ -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);
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);
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);
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);
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);
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)
{
Expand Down Expand Up @@ -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");
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) {
Expand Down Expand Up @@ -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",
Expand Down

0 comments on commit aeaeaf5

Please sign in to comment.