kni: fix build on Linux < 3.14

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@monjalon.net>
This commit is contained in:
Thomas Monjalon 2018-10-26 23:23:36 +02:00
parent 6e5765deb7
commit c6c36fe28a

View File

@ -8,6 +8,14 @@
#include <exec-env/rte_kni_common.h>
/* 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
/**
* Adds num elements into the fifo. Return the number actually written
*/