[dpdk-dev] [PATCH 0/7] Subject: [PATCH ...] Add stack library and new mempool handler
Gage Eads
gage.eads at intel.com
Fri Feb 22 17:06:48 CET 2019
This patchset introduces a stack library, supporting both lock-based and
non-blocking stacks, and a non-blocking stack mempool handler.
The lock-based stack code is derived from the existing stack mempool handler,
and that handler is refactored to use the stack library.
The non-blocking stack mempool handler is intended for usages where the rte
ring's "non-preemptive" constraint is not acceptable; for example, if the
application uses a mixture of pinned high-priority threads and multiplexed
low-priority threads that share a mempool.
Note that the non-blocking algorithm relies on a 128-bit compare-and-swap, so
it is currently limited to the x86_64 platform.
This patchset is the successor to a patchset containing only the new mempool
handler[1].
[1] http://mails.dpdk.org/archives/dev/2019-January/123555.html
Gage Eads (7):
stack: introduce rte stack library
mempool/stack: convert mempool to use rte stack
test/stack: add stack test
test/stack: add stack perf test
stack: add non-blocking stack implementation
test/stack: add non-blocking stack tests
mempool/stack: add non-blocking stack mempool handler
MAINTAINERS | 9 +-
config/common_base | 5 +
doc/api/doxy-api-index.md | 1 +
doc/api/doxy-api.conf.in | 1 +
doc/guides/prog_guide/env_abstraction_layer.rst | 5 +
doc/guides/prog_guide/index.rst | 1 +
doc/guides/prog_guide/stack_lib.rst | 66 ++++
doc/guides/rel_notes/release_19_05.rst | 13 +
drivers/mempool/stack/Makefile | 3 +-
drivers/mempool/stack/meson.build | 6 +-
drivers/mempool/stack/rte_mempool_stack.c | 115 +++----
lib/Makefile | 2 +
lib/librte_stack/Makefile | 25 ++
lib/librte_stack/meson.build | 10 +
lib/librte_stack/rte_stack.c | 220 +++++++++++++
lib/librte_stack/rte_stack.h | 406 +++++++++++++++++++++++
lib/librte_stack/rte_stack_c11_mem.h | 173 ++++++++++
lib/librte_stack/rte_stack_generic.h | 157 +++++++++
lib/librte_stack/rte_stack_pvt.h | 34 ++
lib/librte_stack/rte_stack_version.map | 9 +
lib/meson.build | 2 +-
mk/rte.app.mk | 1 +
test/test/Makefile | 3 +
test/test/meson.build | 7 +
test/test/test_stack.c | 407 ++++++++++++++++++++++++
test/test/test_stack_perf.c | 356 +++++++++++++++++++++
26 files changed, 1965 insertions(+), 72 deletions(-)
create mode 100644 doc/guides/prog_guide/stack_lib.rst
create mode 100644 lib/librte_stack/Makefile
create mode 100644 lib/librte_stack/meson.build
create mode 100644 lib/librte_stack/rte_stack.c
create mode 100644 lib/librte_stack/rte_stack.h
create mode 100644 lib/librte_stack/rte_stack_c11_mem.h
create mode 100644 lib/librte_stack/rte_stack_generic.h
create mode 100644 lib/librte_stack/rte_stack_pvt.h
create mode 100644 lib/librte_stack/rte_stack_version.map
create mode 100644 test/test/test_stack.c
create mode 100644 test/test/test_stack_perf.c
--
2.13.6
More information about the dev
mailing list