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 214AB2B86 for ; Tue, 28 Feb 2017 19:53:17 +0100 (CET) Received: from int-mx11.intmail.prod.int.phx2.redhat.com (int-mx11.intmail.prod.int.phx2.redhat.com [10.5.11.24]) (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 664A880F91; Tue, 28 Feb 2017 18:53:18 +0000 (UTC) Received: from dhcp-25-97.bos.redhat.com ([10.18.25.172]) by int-mx11.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id v1SIrHWC019326; Tue, 28 Feb 2017 13:53:17 -0500 From: Aaron Conole To: dev@dpdk.org Cc: Stephen Hemminger , Bruce Richardson Date: Tue, 28 Feb 2017 13:52:49 -0500 Message-Id: <20170228185315.12546-1-aconole@redhat.com> In-Reply-To: <20170227161811.12309-1-aconole@redhat.com> References: <20170227161811.12309-1-aconole@redhat.com> X-Scanned-By: MIMEDefang 2.68 on 10.5.11.24 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.27]); Tue, 28 Feb 2017 18:53:18 +0000 (UTC) Subject: [dpdk-dev] [PATCH v6 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: Tue, 28 Feb 2017 18:53:18 -0000 From: Aaron Conole 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