[PATCH v5 01/32] cocci/rte_memcpy: add script to eliminate fixed size rte_memcpy

Stephen Hemminger stephen at networkplumber.org
Wed May 22 05:27:28 CEST 2024


Rte_memcpy need not be used for the simple case of copying
a fix size structure because it is not faster and will hide problems
from code analysis tools. Coverity, Fortify and other analyzers
special case memcpy() and can find issues that rte_memcpy()
will hide.

Many platforms use memcpy instead of rte_memcpy already.
The only reason rte_memcpy() was added in original DPDK was that
the older Gcc was doing slower on x86 than the special rte_memcpy()
when handling larger size copies.

Signed-off-by: Stephen Hemminger <stephen at networkplumber.org>
---
 devtools/cocci/rte_memcpy.cocci | 11 +++++++++++
 1 file changed, 11 insertions(+)
 create mode 100644 devtools/cocci/rte_memcpy.cocci

diff --git a/devtools/cocci/rte_memcpy.cocci b/devtools/cocci/rte_memcpy.cocci
new file mode 100644
index 0000000000..fa1038fc06
--- /dev/null
+++ b/devtools/cocci/rte_memcpy.cocci
@@ -0,0 +1,11 @@
+//
+// rte_memcpy should not be used for simple fixed size structure
+// because compiler's are smart enough to inline these.
+//
+@@
+expression src, dst; constant size;
+@@
+(
+- rte_memcpy(dst, src, size)
++ memcpy(dst, src, size)
+)
-- 
2.43.0



More information about the dev mailing list