[dpdk-dev] [PATCH v3 3/3] eal: fix evaluation of log level option
David Marchand
david.marchand at redhat.com
Fri Apr 9 13:04:53 CEST 2021
--log-level option is handled early, no need to reevaluate it later in
EAL init.
Before:
$ echo quit | ./build/app/test/dpdk-test --no-huge -m 512 \
--log-level=lib.eal:debug \
--log-level=lib.ethdev:debug --log-level=lib.ethdev:info \
|& grep -i logtype.level
EAL: lib.eal logtype level changed from info to debug
EAL: lib.ethdev logtype level changed from info to debug
EAL: lib.ethdev logtype level changed from debug to info
EAL: lib.ethdev logtype level changed from info to debug
EAL: lib.ethdev logtype level changed from debug to info
After:
$ echo quit | ./build/app/test/dpdk-test --no-huge -m 512 \
--log-level=lib.eal:debug \
--log-level=lib.ethdev:debug --log-level=lib.ethdev:info \
|& grep -i logtype.level
EAL: lib.eal logtype level changed from info to debug
EAL: lib.ethdev logtype level changed from info to debug
EAL: lib.ethdev logtype level changed from debug to info
Fixes: 6c7216eefd63 ("eal: fix log level of early messages")
Fixes: 1c806ae5c3ac ("eal/windows: support command line options parsing")
Cc: stable at dpdk.org
Signed-off-by: David Marchand <david.marchand at redhat.com>
Acked-by: Thomas Monjalon <thomas at monjalon.net>
Acked-by: Lukasz Wojciechowski <l.wojciechow at partner.samsung.com>
Tested-by: Lukasz Wojciechowski <l.wojciechow at partner.samsung.com>
---
lib/librte_eal/freebsd/eal.c | 4 ++++
lib/librte_eal/linux/eal.c | 4 ++++
lib/librte_eal/windows/eal.c | 4 ++++
3 files changed, 12 insertions(+)
diff --git a/lib/librte_eal/freebsd/eal.c b/lib/librte_eal/freebsd/eal.c
index 5544701f20..f4d1676754 100644
--- a/lib/librte_eal/freebsd/eal.c
+++ b/lib/librte_eal/freebsd/eal.c
@@ -521,6 +521,10 @@ eal_parse_args(int argc, char **argv)
goto out;
}
+ /* eal_log_level_parse() already handled this option */
+ if (opt == OPT_LOG_LEVEL_NUM)
+ continue;
+
ret = eal_parse_common_option(opt, optarg, internal_conf);
/* common parser is not happy */
if (ret < 0) {
diff --git a/lib/librte_eal/linux/eal.c b/lib/librte_eal/linux/eal.c
index baeead3301..ba19fc6347 100644
--- a/lib/librte_eal/linux/eal.c
+++ b/lib/librte_eal/linux/eal.c
@@ -705,6 +705,10 @@ eal_parse_args(int argc, char **argv)
goto out;
}
+ /* eal_log_level_parse() already handled this option */
+ if (opt == OPT_LOG_LEVEL_NUM)
+ continue;
+
ret = eal_parse_common_option(opt, optarg, internal_conf);
/* common parser is not happy */
if (ret < 0) {
diff --git a/lib/librte_eal/windows/eal.c b/lib/librte_eal/windows/eal.c
index 68a1fd1d21..41be20d89f 100644
--- a/lib/librte_eal/windows/eal.c
+++ b/lib/librte_eal/windows/eal.c
@@ -150,6 +150,10 @@ eal_parse_args(int argc, char **argv)
return -1;
}
+ /* eal_log_level_parse() already handled this option */
+ if (opt == OPT_LOG_LEVEL_NUM)
+ continue;
+
ret = eal_parse_common_option(opt, optarg, internal_conf);
/* common parser is not happy */
if (ret < 0) {
--
2.23.0
More information about the dev
mailing list