From 9b9d7caa84140ce132bc3ed515857207da3d6fc4 Mon Sep 17 00:00:00 2001 From: Thomas Monjalon Date: Fri, 22 Apr 2016 12:25:59 +0200 Subject: [PATCH] log: increase default level to info The default was to compile every logs (including debug) and set the default level to debug. As some debug logs may hurt performance, a notice is added and the default level is now info. In order to enable debug logs, they must be compiled with RTE_LOG_LEVEL=RTE_LOG_DEBUG and enabled at runtime with --log-level=8. Signed-off-by: Thomas Monjalon --- config/common_base | 2 +- doc/guides/faq/faq.rst | 7 ++++--- lib/librte_eal/common/eal_common_log.c | 5 +++++ lib/librte_eal/common/eal_common_options.c | 4 ++++ scripts/test-build.sh | 1 + 5 files changed, 15 insertions(+), 4 deletions(-) diff --git a/config/common_base b/config/common_base index 1a54e4cabd..35d38d90cb 100644 --- a/config/common_base +++ b/config/common_base @@ -88,7 +88,7 @@ CONFIG_RTE_MAX_NUMA_NODES=8 CONFIG_RTE_MAX_MEMSEG=256 CONFIG_RTE_MAX_MEMZONE=2560 CONFIG_RTE_MAX_TAILQ=32 -CONFIG_RTE_LOG_LEVEL=8 +CONFIG_RTE_LOG_LEVEL=RTE_LOG_INFO CONFIG_RTE_LOG_HISTORY=256 CONFIG_RTE_LIBEAL_USE_HPET=n CONFIG_RTE_EAL_ALLOW_INV_SOCKET_ID=n diff --git a/doc/guides/faq/faq.rst b/doc/guides/faq/faq.rst index 368374f5bc..3228b92cab 100644 --- a/doc/guides/faq/faq.rst +++ b/doc/guides/faq/faq.rst @@ -88,9 +88,7 @@ the wrong socket, the application simply will not start. On application startup, there is a lot of EAL information printed. Is there any way to reduce this? --------------------------------------------------------------------------------------------------- -Yes, each EAL has a configuration file that is located in the /config directory. Within each configuration file, you will find CONFIG_RTE_LOG_LEVEL=8. -You can change this to a lower value, such as 6 to reduce this printout of debug information. The following is a list of LOG levels that can be found in the rte_log.h file. -You must remove, then rebuild, the EAL directory for the change to become effective as the configuration file creates the rte_config.h file in the EAL directory. +Yes, the option ``--log-level=`` accepts one of these numbers: .. code-block:: c @@ -103,6 +101,9 @@ You must remove, then rebuild, the EAL directory for the change to become effect #define RTE_LOG_INFO 7U /* Informational. */ #define RTE_LOG_DEBUG 8U /* Debug-level messages. */ +It is also possible to change the maximum (and default level) at compile time +with ``CONFIG_RTE_LOG_LEVEL``. + How can I tune my network application to achieve lower latency? --------------------------------------------------------------- diff --git a/lib/librte_eal/common/eal_common_log.c b/lib/librte_eal/common/eal_common_log.c index 1ae8de7080..64aa79fb7d 100644 --- a/lib/librte_eal/common/eal_common_log.c +++ b/lib/librte_eal/common/eal_common_log.c @@ -333,5 +333,10 @@ rte_eal_common_log_init(FILE *default_log) default_log_stream = default_log; rte_openlog_stream(default_log); + +#if RTE_LOG_LEVEL >= RTE_LOG_DEBUG + RTE_LOG(NOTICE, EAL, "Debug logs available - lower performance\n"); +#endif + return 0; } diff --git a/lib/librte_eal/common/eal_common_options.c b/lib/librte_eal/common/eal_common_options.c index 2b418d525e..3efc90f04b 100644 --- a/lib/librte_eal/common/eal_common_options.c +++ b/lib/librte_eal/common/eal_common_options.c @@ -139,7 +139,11 @@ eal_reset_internal_config(struct internal_config *internal_cfg) internal_cfg->syslog_facility = LOG_DAEMON; /* default value from build option */ +#if RTE_LOG_LEVEL >= RTE_LOG_DEBUG + internal_cfg->log_level = RTE_LOG_INFO; +#else internal_cfg->log_level = RTE_LOG_LEVEL; +#endif internal_cfg->xen_dom0_support = 0; diff --git a/scripts/test-build.sh b/scripts/test-build.sh index f7ba1fbb78..48539c121c 100755 --- a/scripts/test-build.sh +++ b/scripts/test-build.sh @@ -138,6 +138,7 @@ config () # ! echo $3 | grep -q '+shared' || \ sed -ri 's,(SHARED_LIB=)n,\1y,' $1/.config ! echo $3 | grep -q '+debug' || ( \ + sed -ri 's,(RTE_LOG_LEVEL=).*,\1RTE_LOG_DEBUG,' $1/.config sed -ri 's,(_DEBUG.*=)n,\1y,' $1/.config sed -ri 's,(_STAT.*=)n,\1y,' $1/.config sed -ri 's,(TEST_PMD_RECORD_.*=)n,\1y,' $1/.config ) -- 2.20.1