Introduce new test case to test HTS ring mode under contention. Signed-off-by: Konstantin Ananyev <konstantin.anan...@intel.com> --- app/test/Makefile | 1 + app/test/meson.build | 1 + app/test/test_ring_hts_stress.c | 28 ++++++++++++++++++++++++++++ 3 files changed, 30 insertions(+) create mode 100644 app/test/test_ring_hts_stress.c
diff --git a/app/test/Makefile b/app/test/Makefile index d22b9f702..ff151cd55 100644 --- a/app/test/Makefile +++ b/app/test/Makefile @@ -77,6 +77,7 @@ SRCS-y += test_external_mem.c SRCS-y += test_rand_perf.c SRCS-y += test_ring.c +SRCS-y += test_ring_hts_stress.c SRCS-y += test_ring_perf.c SRCS-y += test_ring_rts_stress.c SRCS-y += test_ring_stress.c diff --git a/app/test/meson.build b/app/test/meson.build index fa4fb4b51..7e58fa999 100644 --- a/app/test/meson.build +++ b/app/test/meson.build @@ -100,6 +100,7 @@ test_sources = files('commands.c', 'test_rib.c', 'test_rib6.c', 'test_ring.c', + 'test_ring_hts_stress.c', 'test_ring_perf.c', 'test_ring_rts_stress.c', 'test_ring_stress.c', diff --git a/app/test/test_ring_hts_stress.c b/app/test/test_ring_hts_stress.c new file mode 100644 index 000000000..b7f2d21fc --- /dev/null +++ b/app/test/test_ring_hts_stress.c @@ -0,0 +1,28 @@ +/* SPDX-License-Identifier: BSD-3-Clause + * Copyright(c) 2020 Intel Corporation + */ + +#include "test_ring_stress.h" + +static inline uint32_t +_st_ring_dequeue_bulk(struct rte_ring *r, void **obj, uint32_t n, + uint32_t *avail) +{ + return rte_ring_hts_dequeue_bulk(r, obj, n, avail); +} + +static inline uint32_t +_st_ring_enqueue_bulk(struct rte_ring *r, void * const *obj, uint32_t n, + uint32_t *free) +{ + return rte_ring_hts_enqueue_bulk(r, obj, n, free); +} + +static int +_st_ring_init(struct rte_ring *r, const char *name, uint32_t num) +{ + return rte_ring_init(r, name, num, + RING_F_MP_HTS_ENQ | RING_F_MC_HTS_DEQ); +} + +REGISTER_TEST_COMMAND(ring_stress_hts_autotest, test_ring_stress); -- 2.17.1