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

Yongseok Koh yskoh at mellanox.com
Fri Nov 30 00:11:08 CET 2018


Hi,

FYI, your patch has been queued to LTS release 17.11.5

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 12/01/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.

Yongseok

---
>From 49fd11c7c909599fc08d6d937d71ccc0e2afda55 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 e4edab9f3..26208ae44 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.11.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2018-11-29 15:01:48.485261122 -0800
+++ 0074-kni-fix-build-on-Linux-3.14.patch	2018-11-29 15:01:45.190958000 -0800
@@ -1,4 +1,4 @@
-From c6c36fe28a7bfd8ca21784b2b8b62241f89de06e Mon Sep 17 00:00:00 2001
+From 49fd11c7c909599fc08d6d937d71ccc0e2afda55 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 e4edab9f3..26208ae44 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