[dpdk-stable] patch 'kni: fix build on Linux < 3.14' has been queued to LTS release 16.11.9

Luca Boccassi bluca at debian.org
Mon Oct 29 13:53:20 CET 2018


Hi,

FYI, your patch has been queued to LTS release 16.11.9

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 10/31/18. So please
shout if anyone has objections.

Also note that after the patch there's a diff of the upstream commit vs the patch applied
to the branch. If the code is different (ie: not only metadata diffs), due for example to
a change in context or macro names, please double check it.

Thanks.

Luca Boccassi

---
>From 19bdb06486c269ad840e036109aded6e27c186dd Mon Sep 17 00:00:00 2001
From: Thomas Monjalon <thomas at monjalon.net>
Date: Fri, 26 Oct 2018 23:23:36 +0200
Subject: [PATCH] kni: fix build on Linux < 3.14
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

[ upstream commit c6c36fe28a7bfd8ca21784b2b8b62241f89de06e ]

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>
---
 lib/librte_eal/linuxapp/kni/kni_fifo.h | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/lib/librte_eal/linuxapp/kni/kni_fifo.h b/lib/librte_eal/linuxapp/kni/kni_fifo.h
index 7f1d32c54..208d34bf0 100644
--- a/lib/librte_eal/linuxapp/kni/kni_fifo.h
+++ b/lib/librte_eal/linuxapp/kni/kni_fifo.h
@@ -27,6 +27,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
  */
-- 
2.19.1

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2018-10-29 12:48:14.678246093 +0000
+++ 0011-kni-fix-build-on-Linux-3.14.patch	2018-10-29 12:48:14.446417982 +0000
@@ -1,4 +1,4 @@
-From c6c36fe28a7bfd8ca21784b2b8b62241f89de06e Mon Sep 17 00:00:00 2001
+From 19bdb06486c269ad840e036109aded6e27c186dd Mon Sep 17 00:00:00 2001
 From: Thomas Monjalon <thomas at monjalon.net>
 Date: Fri, 26 Oct 2018 23:23:36 +0200
 Subject: [PATCH] kni: fix build on Linux < 3.14
@@ -6,6 +6,8 @@
 Content-Type: text/plain; charset=UTF-8
 Content-Transfer-Encoding: 8bit
 
+[ upstream commit c6c36fe28a7bfd8ca21784b2b8b62241f89de06e ]
+
 The atomic functions smp_load_acquire() and smp_store_release()
 were introduced in Linux 3.14. Older kernels miss the functions:
 
@@ -21,14 +23,14 @@
 
 Signed-off-by: Thomas Monjalon <thomas at monjalon.net>
 ---
- kernel/linux/kni/kni_fifo.h | 8 ++++++++
+ lib/librte_eal/linuxapp/kni/kni_fifo.h | 8 ++++++++
  1 file changed, 8 insertions(+)
 
-diff --git a/kernel/linux/kni/kni_fifo.h b/kernel/linux/kni/kni_fifo.h
-index 2cb3a4a7b..3f4781c2e 100644
---- a/kernel/linux/kni/kni_fifo.h
-+++ b/kernel/linux/kni/kni_fifo.h
-@@ -8,6 +8,14 @@
+diff --git a/lib/librte_eal/linuxapp/kni/kni_fifo.h b/lib/librte_eal/linuxapp/kni/kni_fifo.h
+index 7f1d32c54..208d34bf0 100644
+--- a/lib/librte_eal/linuxapp/kni/kni_fifo.h
++++ b/lib/librte_eal/linuxapp/kni/kni_fifo.h
+@@ -27,6 +27,14 @@
  
  #include <exec-env/rte_kni_common.h>
  


More information about the stable mailing list