1*a9e23c7fSKonstantin Ananyev /* SPDX-License-Identifier: BSD-3-Clause
2*a9e23c7fSKonstantin Ananyev * Copyright(c) 2020 Intel Corporation
3*a9e23c7fSKonstantin Ananyev */
4*a9e23c7fSKonstantin Ananyev
5*a9e23c7fSKonstantin Ananyev #include "test_ring_stress_impl.h"
6*a9e23c7fSKonstantin Ananyev
7*a9e23c7fSKonstantin Ananyev static inline uint32_t
_st_ring_dequeue_bulk(struct rte_ring * r,void ** obj,uint32_t n,uint32_t * avail)8*a9e23c7fSKonstantin Ananyev _st_ring_dequeue_bulk(struct rte_ring *r, void **obj, uint32_t n,
9*a9e23c7fSKonstantin Ananyev uint32_t *avail)
10*a9e23c7fSKonstantin Ananyev {
11*a9e23c7fSKonstantin Ananyev return rte_ring_mc_rts_dequeue_bulk(r, obj, n, avail);
12*a9e23c7fSKonstantin Ananyev }
13*a9e23c7fSKonstantin Ananyev
14*a9e23c7fSKonstantin Ananyev static inline uint32_t
_st_ring_enqueue_bulk(struct rte_ring * r,void * const * obj,uint32_t n,uint32_t * free)15*a9e23c7fSKonstantin Ananyev _st_ring_enqueue_bulk(struct rte_ring *r, void * const *obj, uint32_t n,
16*a9e23c7fSKonstantin Ananyev uint32_t *free)
17*a9e23c7fSKonstantin Ananyev {
18*a9e23c7fSKonstantin Ananyev return rte_ring_mp_rts_enqueue_bulk(r, obj, n, free);
19*a9e23c7fSKonstantin Ananyev }
20*a9e23c7fSKonstantin Ananyev
21*a9e23c7fSKonstantin Ananyev static int
_st_ring_init(struct rte_ring * r,const char * name,uint32_t num)22*a9e23c7fSKonstantin Ananyev _st_ring_init(struct rte_ring *r, const char *name, uint32_t num)
23*a9e23c7fSKonstantin Ananyev {
24*a9e23c7fSKonstantin Ananyev return rte_ring_init(r, name, num,
25*a9e23c7fSKonstantin Ananyev RING_F_MP_RTS_ENQ | RING_F_MC_RTS_DEQ);
26*a9e23c7fSKonstantin Ananyev }
27*a9e23c7fSKonstantin Ananyev
28*a9e23c7fSKonstantin Ananyev const struct test test_ring_rts_stress = {
29*a9e23c7fSKonstantin Ananyev .name = "MT_RTS",
30*a9e23c7fSKonstantin Ananyev .nb_case = RTE_DIM(tests),
31*a9e23c7fSKonstantin Ananyev .cases = tests,
32*a9e23c7fSKonstantin Ananyev };
33