examples/l3fwd-power: allow only supported environments
authorAnatoly Burakov <anatoly.burakov@intel.com>
Fri, 19 Jun 2020 10:53:50 +0000 (11:53 +0100)
committerThomas Monjalon <thomas@monjalon.net>
Sat, 11 Jul 2020 11:28:02 +0000 (13:28 +0200)
Currently, l3fwd-power will attempt to run even if the power env
is set to KVM, which is not supported. Fix this by preventing the
app from initializing unless the env is set to one of the supported
modes.

Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
Tested-by: Yinan Wang <yinan.wang@intel.com>
examples/l3fwd-power/main.c

index 2cc5d7b..5cee9d5 100644 (file)
@@ -2043,6 +2043,7 @@ static int check_ptype(uint16_t portid)
 static int
 init_power_library(void)
 {
+       enum power_management_env env;
        unsigned int lcore_id;
        int ret = 0;
 
@@ -2055,6 +2056,14 @@ init_power_library(void)
                                lcore_id);
                        return ret;
                }
+               /* we're not supporting the VM channel mode */
+               env = rte_power_get_env();
+               if (env != PM_ENV_ACPI_CPUFREQ &&
+                               env != PM_ENV_PSTATE_CPUFREQ) {
+                       RTE_LOG(ERR, POWER,
+                               "Only ACPI and PSTATE mode are supported\n");
+                       return -1;
+               }
        }
        return ret;
 }