From: Jean Dao Date: Mon, 6 Apr 2015 19:14:20 +0000 (+0200) Subject: log: fix log level check X-Git-Tag: spdx-start~9255 X-Git-Url: http://git.droids-corp.org/?a=commitdiff_plain;h=23e4bf20a16d34b2759e8082a818bb3597dc6392;p=dpdk.git log: fix log level check According to the api, rte_log() / rte_vlog() are supposed to check the log level and type but they were not doing so. This check was only done in the RTE_LOG macro while this macro is only there to remove log messages at build time. rte_log() always calls rte_vlog(), so do the check in rte_vlog() only. Signed-off-by: Jean Dao Signed-off-by: David Marchand --- diff --git a/lib/librte_eal/common/eal_common_log.c b/lib/librte_eal/common/eal_common_log.c index ff44d23cb1..fe3d7d53ed 100644 --- a/lib/librte_eal/common/eal_common_log.c +++ b/lib/librte_eal/common/eal_common_log.c @@ -265,14 +265,15 @@ rte_log_dump_history(FILE *out) * defined by the previous call to rte_openlog_stream(). */ int -rte_vlog(__attribute__((unused)) uint32_t level, - __attribute__((unused)) uint32_t logtype, - const char *format, va_list ap) +rte_vlog(uint32_t level, uint32_t logtype, const char *format, va_list ap) { int ret; FILE *f = rte_logs.file; unsigned lcore_id; + if ((level > rte_logs.level) || !(logtype & rte_logs.type)) + return 0; + /* save loglevel and logtype in a global per-lcore variable */ lcore_id = rte_lcore_id(); if (lcore_id < RTE_MAX_LCORE) { @@ -288,6 +289,7 @@ rte_vlog(__attribute__((unused)) uint32_t level, /* * Generates a log message The message will be sent in the stream * defined by the previous call to rte_openlog_stream(). + * No need to check level here, done by rte_vlog(). */ int rte_log(uint32_t level, uint32_t logtype, const char *format, ...) diff --git a/lib/librte_eal/common/include/rte_log.h b/lib/librte_eal/common/include/rte_log.h index f83a0d9543..3b467c1f49 100644 --- a/lib/librte_eal/common/include/rte_log.h +++ b/lib/librte_eal/common/include/rte_log.h @@ -299,9 +299,7 @@ int rte_vlog(uint32_t level, uint32_t logtype, const char *format, va_list ap) * - Negative on error. */ #define RTE_LOG(l, t, ...) \ - (void)(((RTE_LOG_ ## l <= RTE_LOG_LEVEL) && \ - (RTE_LOG_ ## l <= rte_logs.level) && \ - (RTE_LOGTYPE_ ## t & rte_logs.type)) ? \ + (void)((RTE_LOG_ ## l <= RTE_LOG_LEVEL) ? \ rte_log(RTE_LOG_ ## l, \ RTE_LOGTYPE_ ## t, # t ": " __VA_ARGS__) : \ 0)