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 <tho...@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