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 F2BE32A5E for ; Mon, 27 Feb 2017 15:33:20 +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 5E9F23A76AF; Mon, 27 Feb 2017 14:33:21 +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 v1REXKL7003797 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO); Mon, 27 Feb 2017 09:33:20 -0500 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-7-aconole@redhat.com> <20170227134857.GA133112@bricha3-MOBL3.ger.corp.intel.com> Date: Mon, 27 Feb 2017 09:33:19 -0500 In-Reply-To: <20170227134857.GA133112@bricha3-MOBL3.ger.corp.intel.com> (Bruce Richardson's message of "Mon, 27 Feb 2017 13:48:57 +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.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.29]); Mon, 27 Feb 2017 14:33:21 +0000 (UTC) Subject: Re: [dpdk-dev] [PATCH v4 06/26] eal-common: introduce a way to query cpu support 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:33:21 -0000 Bruce Richardson writes: > On Sat, Feb 25, 2017 at 11:02:49AM -0500, Aaron Conole wrote: >> This adds a new API to check for the eal cpu versions. >> >> Signed-off-by: Aaron Conole >> --- >> lib/librte_eal/common/eal_common_cpuflags.c | 13 +++++++++++-- >> lib/librte_eal/common/include/generic/rte_cpuflags.h | 9 +++++++++ >> 2 files changed, 20 insertions(+), 2 deletions(-) >> >> diff --git a/lib/librte_eal/common/eal_common_cpuflags.c b/lib/librte_eal/common/eal_common_cpuflags.c >> index b5f76f7..2c2127b 100644 >> --- a/lib/librte_eal/common/eal_common_cpuflags.c >> +++ b/lib/librte_eal/common/eal_common_cpuflags.c >> @@ -43,6 +43,13 @@ >> void >> rte_cpu_check_supported(void) >> { >> + if (!rte_cpu_is_supported()) >> + exit(1); >> +} >> + >> +bool >> +rte_cpu_is_supported(void) >> +{ >> /* This is generated at compile-time by the build system */ >> static const enum rte_cpu_flag_t compile_time_flags[] = { >> RTE_COMPILE_TIME_CPUFLAGS >> @@ -57,14 +64,16 @@ rte_cpu_check_supported(void) >> fprintf(stderr, >> "ERROR: CPU feature flag lookup failed with error %d\n", >> ret); >> - exit(1); >> + return false; >> } >> if (!ret) { >> fprintf(stderr, >> "ERROR: This system does not support \"%s\".\n" >> "Please check that RTE_MACHINE is set correctly.\n", >> rte_cpu_get_flag_name(compile_time_flags[i])); >> - exit(1); >> + return false; >> } >> } >> + >> + return true; >> } >> diff --git a/lib/librte_eal/common/include/generic/rte_cpuflags.h b/lib/librte_eal/common/include/generic/rte_cpuflags.h >> index 71321f3..e4342ad 100644 >> --- a/lib/librte_eal/common/include/generic/rte_cpuflags.h >> +++ b/lib/librte_eal/common/include/generic/rte_cpuflags.h >> @@ -40,6 +40,7 @@ >> */ >> >> #include >> +#include >> > > The addition of this include is causing all sorts of compilation errors > inside the PMDs, as many of them seem to be defining their own bools > types. :-( > > For safety sake, probably best to have the function return int rather > than bool. Will do - I never saw the issue, but perhaps I was excluding the PMDs in question. Thanks for the review, Bruce!