From mboxrd@z Thu Jan 1 00:00:00 1970 From: Aaron Conole Subject: [PATCH v4 00/26] linux/eal: Remove most causes of panic on init Date: Sat, 25 Feb 2017 11:02:43 -0500 Message-ID: <20170225160309.31270-1-aconole@redhat.com> References: <20170209142953.8167-1-aconole@redhat.com> Cc: Stephen Hemminger , Bruce Richardson To: dev@dpdk.org Return-path: Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by dpdk.org (Postfix) with ESMTP id 1CD212BFF for ; Sat, 25 Feb 2017 17:03:11 +0100 (CET) In-Reply-To: <20170209142953.8167-1-aconole@redhat.com> List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" 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. 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: No panic on hugepages info init eal: do not panic on failed hugepage query eal: failure to parse args returns error eal-common: introduce a way to query cpu support eal: Signal error 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 rte_errno 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 | 9 ++ 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 | 6 +- lib/librte_eal/linuxapp/eal/eal_interrupts.c | 5 +- 10 files changed, 169 insertions(+), 52 deletions(-) -- 2.9.3