[dpdk-dev] [PATCH v2] lib/librte_sched: Fix compile with gcc 4.3.4

Thomas Monjalon thomas.monjalon at 6wind.com
Wed Dec 2 03:18:01 CET 2015


2015-12-02 10:09, Michael Qiu:
> gcc 4.3.4 does not include "immintrin.h", and will post below error:
>     lib/librte_sched/rte_sched.c:56:23: error:
>     immintrin.h: No such file or directory

This compiler issue is fixed with rte_vect.h.

> To avoid this issue, a gcc version check is need and a flag to indicate
> vector ablility.

It is another issue: we need SSE2 support.

> --- a/lib/librte_sched/rte_sched.c
> +++ b/lib/librte_sched/rte_sched.c
> @@ -42,6 +42,7 @@
>  #include <rte_prefetch.h>
>  #include <rte_branch_prediction.h>
>  #include <rte_mbuf.h>
> +#include <rte_vect.h>

Shouldn't be in #ifdef RTE_SCHED_VECTOR ?

>  #include "rte_sched.h"
>  #include "rte_bitmap.h"
> @@ -53,7 +54,11 @@
>  #endif
>  
>  #ifdef RTE_SCHED_VECTOR
> -#include <immintrin.h>
> +
> +#if defined(__SSE2__)
> +#define SCHED_VECTOR_ENABLE
> +#endif

I think the flag should SCHED_VECTOR_SSE2

With this fix, the need for disabling SCHED_VECTOR for non-x86 platforms
should disappear.
But it may be safe to disable it (another patch).
Thanks


More information about the dev mailing list