On 19-Jun-20 8:37 AM, Harman Kalra wrote:
On Thu, Jun 18, 2020 at 06:18:29PM +0100, Anatoly Burakov wrote:
External Email
----------------------------------------------------------------------
Currently, the application does support running without the power
library being initialized, but it has to be specifically requested. On
platforms without support for frequency scaling using the power library,
we can just enable interrupt-only mode by default.
Signed-off-by: Anatoly Burakov <anatoly.bura...@intel.com>
Suggested-by: Jerin Jacob <jerinjac...@gmail.com>
---
Application probed the platform for frequency scaling support, since
octeontx2 doesnt support it, interrupt-only mode got enabled by default.
Tested-by: Harman Kalra <hka...@marvell.com>
Perhaps there should be a log indicating which one was picked. There's a
wrong comment in this particular patch as well, so i'll fix that while
i'm at it :)
Thanks!
examples/l3fwd-power/main.c | 16 +++++++++++++++-
1 file changed, 15 insertions(+), 1 deletion(-)
diff --git a/examples/l3fwd-power/main.c b/examples/l3fwd-power/main.c
index 51acbfd87d..a66599e734 100644
--- a/examples/l3fwd-power/main.c
+++ b/examples/l3fwd-power/main.c
@@ -2412,6 +2412,20 @@ launch_timer(unsigned int lcore_id)
return 0;
}
+static int
+autodetect_mode(void)
+{
+ /*
+ * Empty poll and telemetry modes have to be specifically requested to
+ * be enabled, but we can auto-detect between legacy mode with or
+ * without interrupts. Both ACPI and pstate can be used.
+ */
+ if (rte_power_check_env_supported(PM_ENV_ACPI_CPUFREQ))
+ return APP_MODE_LEGACY;
+ if (rte_power_check_env_supported(PM_ENV_PSTATE_CPUFREQ))
+ return APP_MODE_LEGACY;
+ return APP_MODE_INTERRUPT;
+}
int
main(int argc, char **argv)
@@ -2449,7 +2463,7 @@ main(int argc, char **argv)
rte_exit(EXIT_FAILURE, "Invalid L3FWD parameters\n");
if (app_mode == APP_MODE_DEFAULT)
- app_mode = APP_MODE_LEGACY;
+ app_mode = autodetect_mode();
/* only legacy and empty poll mode rely on power library */
if ((app_mode == APP_MODE_LEGACY || app_mode == APP_MODE_EMPTY_POLL) &&
--
2.17.1
--
Thanks,
Anatoly