From: Aaron Conole <acon...@bytheb.org> In many cases, it's enough to simply let the application know that the call to initialize DPDK has failed. A complete halt can then be decided by the application based on error returned (and the app could even attempt a possible re-attempt after some corrective action by the user or application).
Changes ->v2: - Audited all "RTE_LOG (" calls that were introduced, and converted to "RTE_LOG(" - Added some fprintf(stderr, "") lines to indicate errors before logging is initialized - Removed assignments to errno. - Changed patch 14/25 to reflect EFAULT, and document in 25/25 Changes ->v3: - Checkpatch issues in patches 3 (spelling mistake), 9 (issue with leading spaces), and 19 (braces around single line statement if-condition) Changes ->v4: - Error text cleanup. - Add a new check around rte_bus_scan(), added during the development of this series. Changes ->v5: - checkpatch.pl cleanup in patch 02/26 - move rte_errno.h include from patch 15 to patch 02 - remove stdbool.h and use int as return type in patch 06/26 Changes ->v6: - convert all of the initialization calls to RTE_LOG() to rte_eal_init_alert() - run through check-git-log and checkpatches - add Bruce's ack to the series I kept the rte_errno reflection, since this is control-path code and the init function returns a sentinel value of -1. Aaron Conole (26): eal: cpu init will no longer panic eal: return error instead of panic for cpu init eal: do not panic on hugepage info init eal: do not panic on failed hugepage query eal: do not panic if parsing args returns error eal-common: introduce a way to query cpu support eal: do not panic when CPU isn't supported eal: do not panic on memzone initialization fails eal: set errno when exiting for already called eal: do not panic on log failures eal: do not panic on PCI-probe eal: do not panic on vfio failure eal: do not panic on memory init eal: do not panic on tailq init eal: do not panic on alarm init eal: convert timer init not to call panic eal: change the private pipe call to reflect errno eal: do not panic on interrupt thread init eal: do not error if plugins fail to init eal_pci: continue probing even on failures eal: do not panic on failed PCI-probe eal_common_dev: continue initializing vdevs eal: do not panic (or abort) if vdev init fails eal: do not panic when bus probe fails eal: do not panic on failed bus scan rte_eal_init: add info about various error codes lib/librte_eal/common/eal_common_cpuflags.c | 13 +- lib/librte_eal/common/eal_common_dev.c | 5 +- lib/librte_eal/common/eal_common_lcore.c | 7 +- lib/librte_eal/common/eal_common_pci.c | 15 ++- lib/librte_eal/common/eal_common_tailqs.c | 3 +- .../common/include/generic/rte_cpuflags.h | 8 ++ lib/librte_eal/common/include/rte_eal.h | 27 ++++- lib/librte_eal/linuxapp/eal/eal.c | 131 +++++++++++++++------ lib/librte_eal/linuxapp/eal/eal_hugepage_info.c | 9 +- lib/librte_eal/linuxapp/eal/eal_interrupts.c | 5 +- 10 files changed, 170 insertions(+), 53 deletions(-) -- 2.9.3