stack: introduce stack library
authorGage Eads <gage.eads@intel.com>
Wed, 3 Apr 2019 23:20:13 +0000 (18:20 -0500)
committerThomas Monjalon <thomas@monjalon.net>
Thu, 4 Apr 2019 20:06:16 +0000 (22:06 +0200)
commit05d3b5283cc1a61b2e204ddd6bc30b6f3053f280
tree9cacc632a064a0d029d5883362aa21844fa10632
parent721ac9f9e063f55570c1c3a2f07cf5a7b5e15aab
stack: introduce stack library

The rte_stack library provides an API for configuration and use of a
bounded stack of pointers. Push and pop operations are MT-safe, allowing
concurrent access, and the interface supports pushing and popping multiple
pointers at a time.

The library's interface is modeled after another DPDK data structure,
rte_ring, and its lock-based implementation is derived from the stack
mempool handler. An upcoming commit will migrate the stack mempool handler
to rte_stack.

Signed-off-by: Gage Eads <gage.eads@intel.com>
Reviewed-by: Olivier Matz <olivier.matz@6wind.com>
Reviewed-by: Honnappa Nagarahalli <honnappa.nagarahalli@arm.com>
18 files changed:
MAINTAINERS
config/common_base
doc/api/doxy-api-index.md
doc/api/doxy-api.conf.in
doc/guides/prog_guide/index.rst
doc/guides/prog_guide/stack_lib.rst [new file with mode: 0644]
doc/guides/rel_notes/release_19_05.rst
lib/Makefile
lib/librte_stack/Makefile [new file with mode: 0644]
lib/librte_stack/meson.build [new file with mode: 0644]
lib/librte_stack/rte_stack.c [new file with mode: 0644]
lib/librte_stack/rte_stack.h [new file with mode: 0644]
lib/librte_stack/rte_stack_pvt.h [new file with mode: 0644]
lib/librte_stack/rte_stack_std.c [new file with mode: 0644]
lib/librte_stack/rte_stack_std.h [new file with mode: 0644]
lib/librte_stack/rte_stack_version.map [new file with mode: 0644]
lib/meson.build
mk/rte.app.mk