On systems with more cpu than RTE_MAX_LCORE, starting DPDK with
cores >= RTE_MAX_LCORE ends up with an ambiguous error log.

Example with RTE_MAX_LCORE=8:
$ taskset -c 8 ./build/app/dpdk-testpmd
EAL: Detected CPU lcores: 8
EAL: Detected NUMA nodes: 1
EAL: Invalid 'command line' arguments.
EAL: Error - exiting with code: 1
Cannot init EAL: Invalid argument

Add a better hint to help the user.

Fixes: 2eba8d21f3c9 ("eal: restrict cores auto detection")
Cc: sta...@dpdk.org

Signed-off-by: David Marchand <david.march...@redhat.com>
---
 lib/eal/common/eal_common_options.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/lib/eal/common/eal_common_options.c 
b/lib/eal/common/eal_common_options.c
index c77654c365..23c0c75932 100644
--- a/lib/eal/common/eal_common_options.c
+++ b/lib/eal/common/eal_common_options.c
@@ -2001,6 +2001,11 @@ eal_adjust_config(struct internal_config *internal_cfg)
        if (!core_parsed)
                eal_auto_detect_cores(cfg);
 
+       if (cfg->lcore_count == 0) {
+               EAL_LOG(ERR, "No detected lcore is enabled, please check the 
core list");
+               return -1;
+       }
+
        if (internal_conf->process_type == RTE_PROC_AUTO)
                internal_conf->process_type = eal_proc_type_detect();
 
-- 
2.49.0

Reply via email to