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 0B7D18DA2 for ; Mon, 27 Feb 2017 15:35:32 +0100 (CET) Received: from smtp.corp.redhat.com (int-mx16.intmail.prod.int.phx2.redhat.com [10.5.11.28]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 6E7A74E4DE; Mon, 27 Feb 2017 14:35:32 +0000 (UTC) Received: from dhcp-25-97.bos.redhat.com (dhcp-25-172.bos.redhat.com [10.18.25.172]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 008CF2D655; Mon, 27 Feb 2017 14:35:31 +0000 (UTC) From: Aaron Conole To: Bruce Richardson Cc: dev@dpdk.org, Stephen Hemminger References: <20170209142953.8167-1-aconole@redhat.com> <20170225160309.31270-1-aconole@redhat.com> <20170225160309.31270-3-aconole@redhat.com> <20170227125852.GA127920@bricha3-MOBL3.ger.corp.intel.com> Date: Mon, 27 Feb 2017 09:35:30 -0500 In-Reply-To: <20170227125852.GA127920@bricha3-MOBL3.ger.corp.intel.com> (Bruce Richardson's message of "Mon, 27 Feb 2017 12:58:52 +0000") Message-ID: User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Scanned-By: MIMEDefang 2.74 on 10.5.11.28 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.38]); Mon, 27 Feb 2017 14:35:32 +0000 (UTC) Subject: Re: [dpdk-dev] [PATCH v4 02/26] eal: return error instead of panic for cpu 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 14:35:32 -0000 Bruce Richardson writes: > On Sat, Feb 25, 2017 at 11:02:45AM -0500, Aaron Conole wrote: >> There may be no way to gracefully recover, but the application >> should be notified that a failure happened, rather than completely >> aborting. This allows the user to proceed with a "slow-path" type >> solution. >> >> Signed-off-by: Aaron Conole >> --- >> lib/librte_eal/linuxapp/eal/eal.c | 13 +++++++++++-- >> 1 file changed, 11 insertions(+), 2 deletions(-) >> >> diff --git a/lib/librte_eal/linuxapp/eal/eal.c b/lib/librte_eal/linuxapp/eal/eal.c >> index bf6b818..5023d0d 100644 >> --- a/lib/librte_eal/linuxapp/eal/eal.c >> +++ b/lib/librte_eal/linuxapp/eal/eal.c >> @@ -740,6 +740,12 @@ static int rte_eal_vfio_setup(void) >> } >> #endif >> >> +static void rte_eal_init_alert(const char *msg) >> +{ >> + fprintf(stderr, "EAL: FATAL: %s\n", msg); >> + RTE_LOG(ERR, EAL, "%s\n", msg); >> +} >> + >> /* Launch threads, called at application init(). */ >> int >> rte_eal_init(int argc, char **argv) >> @@ -767,8 +773,11 @@ rte_eal_init(int argc, char **argv) >> /* set log level as early as possible */ >> rte_set_log_level(internal_config.log_level); >> >> - if (rte_eal_cpu_init() < 0) >> - rte_panic("Cannot detect lcores\n"); >> + if (rte_eal_cpu_init() < 0) { >> + rte_eal_init_alert("Cannot detect lcores."); >> + rte_errno = ENOTSUP; >> + return -1; >> + } >> >> fctret = eal_parse_args(argc, argv); >> if (fctret < 0) >> -- > eal.c needs to include rte_errno.h after this change, otherwise it won't > compile. oops.. I reordered some of my original work, and the rte_errno.h change was introduced too late. Thanks for catching this! > /Bruce