mbox series

[v6,0/7] Optionally have rte_memcpy delegate to compiler memcpy

Message ID 20240920102716.738940-1-mattias.ronnblom@ericsson.com (mailing list archive)
Headers
Series Optionally have rte_memcpy delegate to compiler memcpy |

Message

Mattias Rönnblom Sept. 20, 2024, 10:27 a.m. UTC
This patch set make DPDK library, driver, and application code
optionally use the compiler/libc memcpy() when functions in
<rte_memcpy.h> are invoked.

The new compiler memcpy-based rte_memcpy() implementations may be
enabled by means of a build-time option.

This patch set only make a difference on x86, PPC and ARM. Loongarch
and RISCV already used compiler/libc memcpy().

This patch set includes a number of fixes in drivers and libraries
which errornously relied on <rte_memcpy.h> including header files
(i.e., <rte_vect.h>) required by its implementation.

Mattias Rönnblom (7):
  event/dlb2: include headers for vector and memory copy APIs
  net/octeon_ep: add missing vector API header include
  distributor: add missing vector API header include
  fib: add missing vector API header include
  eal: provide option to use compiler memcpy instead of RTE
  ci: test compiler memcpy
  vhost: optimize memcpy routines when cc memcpy is used

 .ci/linux-build.sh                     |  5 +++
 .github/workflows/build.yml            |  7 +++
 config/meson.build                     |  1 +
 devtools/test-meson-builds.sh          |  4 +-
 doc/guides/rel_notes/release_24_11.rst | 20 +++++++++
 drivers/event/dlb2/dlb2.c              |  2 +
 drivers/net/octeon_ep/otx_ep_ethdev.c  |  2 +
 lib/distributor/rte_distributor.c      |  1 +
 lib/eal/arm/include/rte_memcpy.h       |  9 ++++
 lib/eal/include/generic/rte_memcpy.h   | 61 +++++++++++++++++++++++---
 lib/eal/loongarch/include/rte_memcpy.h | 54 +----------------------
 lib/eal/ppc/include/rte_memcpy.h       |  9 ++++
 lib/eal/riscv/include/rte_memcpy.h     | 54 +----------------------
 lib/eal/x86/include/meson.build        |  1 +
 lib/eal/x86/include/rte_memcpy.h       |  9 ++++
 lib/fib/trie.c                         |  1 +
 lib/vhost/virtio_net.c                 | 37 +++++++++++++++-
 meson_options.txt                      |  2 +
 18 files changed, 165 insertions(+), 114 deletions(-)