[dpdk-dev] [PATCH] kni: fix build on Linux < 3.14

Thomas Monjalon thomas at monjalon.net
Fri Oct 26 23:56:53 CEST 2018


26/10/2018 23:40, Thomas Monjalon:
> The atomic functions smp_load_acquire() and smp_store_release()
> were introduced in Linux 3.14. Older kernels miss the functions:
> 
> kni_fifo.h:19:2: error:
> 	implicit declaration of function ‘smp_load_acquire’
> kni_fifo.h:30:2: error:
> 	implicit declaration of function ‘smp_store_release’
> 
> The fallback is to drop the atomic barrier, as it was before
> the commit below.
> 
> Fixes: 711859cd0d07 ("kni: fix kernel FIFO synchronization")
> 
> Signed-off-by: Thomas Monjalon <thomas at monjalon.net>
> ---
>  kernel/linux/kni/kni_fifo.h | 7 +++++++
>  1 file changed, 7 insertions(+)
> 
> --- a/kernel/linux/kni/kni_fifo.h
> +++ b/kernel/linux/kni/kni_fifo.h

We could add a comment here:
/* Skip some memory barriers on Linux < 3.14 */

> +#ifndef smp_load_acquire
> +#define smp_load_acquire(a) (*(a))
> +#endif
> +#ifndef smp_store_release
> +#define smp_store_release(a, b) *(a) = (b)
> +#endif





More information about the dev mailing list