[dpdk-dev,07/25] eal: Signal error when CPU isn't supported
Checks
Commit Message
It's now possible to gracefully exit the application, or for
applications which support non-dpdk datapaths working in concert with
DPDK datapaths, there no longer is the possibility of exiting for
unsupported CPUs.
Signed-off-by: Aaron Conole <aconole@redhat.com>
---
lib/librte_eal/linuxapp/eal/eal.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
Comments
On Fri, 27 Jan 2017 09:56:45 -0500
Aaron Conole <aconole@redhat.com> wrote:
> It's now possible to gracefully exit the application, or for
> applications which support non-dpdk datapaths working in concert with
> DPDK datapaths, there no longer is the possibility of exiting for
> unsupported CPUs.
>
> Signed-off-by: Aaron Conole <aconole@redhat.com>
> ---
> lib/librte_eal/linuxapp/eal/eal.c | 5 ++++-
> 1 file changed, 4 insertions(+), 1 deletion(-)
>
> diff --git a/lib/librte_eal/linuxapp/eal/eal.c b/lib/librte_eal/linuxapp/eal/eal.c
> index 413be16..cd976f5 100644
> --- a/lib/librte_eal/linuxapp/eal/eal.c
> +++ b/lib/librte_eal/linuxapp/eal/eal.c
> @@ -752,7 +752,10 @@ rte_eal_init(int argc, char **argv)
> char thread_name[RTE_MAX_THREAD_NAME_LEN];
>
> /* checks if the machine is adequate */
> - rte_cpu_check_supported();
> + if (!rte_cpu_is_supported()) {
> + rte_errno = ENOTSUP;
> + return -1;
> + }
>
I like not having DPDK applications panic.
My concern is that naive user will not know to check rte_errno. Why not put
a high severity error out as well. If logging is not up just use stderr.
Stephen Hemminger <stephen@networkplumber.org> writes:
> On Fri, 27 Jan 2017 09:56:45 -0500
> Aaron Conole <aconole@redhat.com> wrote:
>
>> It's now possible to gracefully exit the application, or for
>> applications which support non-dpdk datapaths working in concert with
>> DPDK datapaths, there no longer is the possibility of exiting for
>> unsupported CPUs.
>>
>> Signed-off-by: Aaron Conole <aconole@redhat.com>
>> ---
>> lib/librte_eal/linuxapp/eal/eal.c | 5 ++++-
>> 1 file changed, 4 insertions(+), 1 deletion(-)
>>
>> diff --git a/lib/librte_eal/linuxapp/eal/eal.c b/lib/librte_eal/linuxapp/eal/eal.c
>> index 413be16..cd976f5 100644
>> --- a/lib/librte_eal/linuxapp/eal/eal.c
>> +++ b/lib/librte_eal/linuxapp/eal/eal.c
>> @@ -752,7 +752,10 @@ rte_eal_init(int argc, char **argv)
>> char thread_name[RTE_MAX_THREAD_NAME_LEN];
>>
>> /* checks if the machine is adequate */
>> - rte_cpu_check_supported();
>> + if (!rte_cpu_is_supported()) {
>> + rte_errno = ENOTSUP;
>> + return -1;
>> + }
>>
>
> I like not having DPDK applications panic.
> My concern is that naive user will not know to check rte_errno. Why not put
> a high severity error out as well. If logging is not up just use stderr.
I'll work in a quick blurt using stderr.
Thanks for the review, Stephen!
-Aaron
@@ -752,7 +752,10 @@ rte_eal_init(int argc, char **argv)
char thread_name[RTE_MAX_THREAD_NAME_LEN];
/* checks if the machine is adequate */
- rte_cpu_check_supported();
+ if (!rte_cpu_is_supported()) {
+ rte_errno = ENOTSUP;
+ return -1;
+ }
if (!rte_atomic32_test_and_set(&run_once))
return -1;