[dpdk-dev] [PATCH v4 0/8] lib/ring: add zero copy APIs
Honnappa Nagarahalli
Honnappa.Nagarahalli at arm.com
Sat Oct 24 18:18:04 CEST 2020
Hi David,
Checkpatch CI is showing "WARNING" on a lot of the patches in this series, but it does not list any real warnings. Any idea what is happening?
Thanks,
Honnappa
> -----Original Message-----
> From: Honnappa Nagarahalli <honnappa.nagarahalli at arm.com>
> Sent: Saturday, October 24, 2020 11:11 AM
> To: dev at dpdk.org; Honnappa Nagarahalli
> <Honnappa.Nagarahalli at arm.com>; konstantin.ananyev at intel.com;
> stephen at networkplumber.org
> Cc: Dharmik Thakkar <Dharmik.Thakkar at arm.com>; Ruifeng Wang
> <Ruifeng.Wang at arm.com>; olivier.matz at 6wind.com;
> david.marchand at redhat.com; nd <nd at arm.com>
> Subject: [PATCH v4 0/8] lib/ring: add zero copy APIs
>
> It is pretty common for the DPDK applications to be deployed in semi-
> pipeline model. In these models, a small number of cores (typically 1) are
> designated as I/O cores. The I/O cores work on receiving and transmitting
> packets from the NIC and several packet processing cores. The IO core and
> the packet processing cores exchange the packets over a ring. Typically, such
> applications receive the mbufs in a temporary array and copy the mbufs on
> to the ring. Depending on the requirements the packets could be copied in
> batches of 32, 64 etc resulting in 256B, 512B etc memory copy.
>
> The zero copy APIs help avoid intermediate copies by exposing the space on
> the ring directly to the application.
>
> v4:
> 1) Fixed multiple pointer issues
> 2) Added documentation
>
> v3:
> 1) Changed the name of the APIs to 'zero-copy (zc)'
> 2) Made the address calculation simpler
> 3) Structure to return the data to the user is aligned on
> cache line boundary.
> 4) Added functional and stress test cases
>
> v2: changed the patch to use the SP-SC and HTS modes
>
> v1: Initial version
>
> Honnappa Nagarahalli (8):
> lib/ring: add zero copy APIs
> test/ring: move common function to header file
> test/ring: add functional tests for zero copy APIs
> test/ring: add stress tests for zero copy APIs
> doc/ring: add zero copy peek APIs
> test/ring: fix the memory dump size
> test/ring: remove unnecessary braces
> test/ring: user uintptr_t instead of unsigned long
>
> app/test/meson.build | 2 +
> app/test/test_ring.c | 209 +++++++++-
> app/test/test_ring.h | 67 ++-
> app/test/test_ring_mt_peek_stress_zc.c | 56 +++
> app/test/test_ring_st_peek_stress_zc.c | 65 +++
> app/test/test_ring_stress.c | 6 +
> app/test/test_ring_stress.h | 2 +
> app/test/test_ring_stress_impl.h | 2 +-
> doc/guides/prog_guide/ring_lib.rst | 41 ++
> doc/guides/rel_notes/release_20_11.rst | 9 +
> lib/librte_ring/meson.build | 1 +
> lib/librte_ring/rte_ring_elem.h | 1 +
> lib/librte_ring/rte_ring_peek_zc.h | 546 +++++++++++++++++++++++++
> 13 files changed, 988 insertions(+), 19 deletions(-) create mode 100644
> app/test/test_ring_mt_peek_stress_zc.c
> create mode 100644 app/test/test_ring_st_peek_stress_zc.c
> create mode 100644 lib/librte_ring/rte_ring_peek_zc.h
>
> --
> 2.17.1
More information about the dev
mailing list