From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by dpdk.org (Postfix) with ESMTP id 7C1F62E81 for ; Mon, 27 Feb 2017 17:18:12 +0100 (CET) Received: from int-mx10.intmail.prod.int.phx2.redhat.com (int-mx10.intmail.prod.int.phx2.redhat.com [10.5.11.23]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id D34268553C; Mon, 27 Feb 2017 16:18:12 +0000 (UTC) Received: from dhcp-25-97.bos.redhat.com (dhcp-25-172.bos.redhat.com [10.18.25.172]) by int-mx10.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id v1RGICJe003061; Mon, 27 Feb 2017 11:18:12 -0500 From: Aaron Conole To: dev@dpdk.org Cc: Stephen Hemminger , Bruce Richardson Date: Mon, 27 Feb 2017 11:17:45 -0500 Message-Id: <20170227161811.12309-1-aconole@redhat.com> In-Reply-To: <20170225160309.31270-1-aconole@redhat.com> References: <20170225160309.31270-1-aconole@redhat.com> X-Scanned-By: MIMEDefang 2.68 on 10.5.11.23 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.28]); Mon, 27 Feb 2017 16:18:12 +0000 (UTC) Subject: [dpdk-dev] [PATCH v5 00/26] linux/eal: Remove most causes of panic on init X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 27 Feb 2017 16:18:12 -0000 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 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 | 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 | 6 +- lib/librte_eal/linuxapp/eal/eal_interrupts.c | 5 +- 10 files changed, 168 insertions(+), 52 deletions(-) -- 2.9.3