MCPcopy Create free account
hub / github.com/F-Stack/f-stack / test_ring_enqueue

Function test_ring_enqueue

dpdk/app/test/test_ring.h:100–159  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

98}
99
100static inline unsigned int
101test_ring_enqueue(struct rte_ring *r, void **obj, int esize, unsigned int n,
102 unsigned int api_type)
103{
104 /* Legacy queue APIs? */
105 if (esize == -1)
106 switch (api_type) {
107 case (TEST_RING_THREAD_DEF | TEST_RING_ELEM_SINGLE):
108 return rte_ring_enqueue(r, *obj);
109 case (TEST_RING_THREAD_SPSC | TEST_RING_ELEM_SINGLE):
110 return rte_ring_sp_enqueue(r, *obj);
111 case (TEST_RING_THREAD_MPMC | TEST_RING_ELEM_SINGLE):
112 return rte_ring_mp_enqueue(r, *obj);
113 case (TEST_RING_THREAD_DEF | TEST_RING_ELEM_BULK):
114 return rte_ring_enqueue_bulk(r, obj, n, NULL);
115 case (TEST_RING_THREAD_SPSC | TEST_RING_ELEM_BULK):
116 return rte_ring_sp_enqueue_bulk(r, obj, n, NULL);
117 case (TEST_RING_THREAD_MPMC | TEST_RING_ELEM_BULK):
118 return rte_ring_mp_enqueue_bulk(r, obj, n, NULL);
119 case (TEST_RING_THREAD_DEF | TEST_RING_ELEM_BURST):
120 return rte_ring_enqueue_burst(r, obj, n, NULL);
121 case (TEST_RING_THREAD_SPSC | TEST_RING_ELEM_BURST):
122 return rte_ring_sp_enqueue_burst(r, obj, n, NULL);
123 case (TEST_RING_THREAD_MPMC | TEST_RING_ELEM_BURST):
124 return rte_ring_mp_enqueue_burst(r, obj, n, NULL);
125 default:
126 printf("Invalid API type\n");
127 return 0;
128 }
129 else
130 switch (api_type) {
131 case (TEST_RING_THREAD_DEF | TEST_RING_ELEM_SINGLE):
132 return rte_ring_enqueue_elem(r, obj, esize);
133 case (TEST_RING_THREAD_SPSC | TEST_RING_ELEM_SINGLE):
134 return rte_ring_sp_enqueue_elem(r, obj, esize);
135 case (TEST_RING_THREAD_MPMC | TEST_RING_ELEM_SINGLE):
136 return rte_ring_mp_enqueue_elem(r, obj, esize);
137 case (TEST_RING_THREAD_DEF | TEST_RING_ELEM_BULK):
138 return rte_ring_enqueue_bulk_elem(r, obj, esize, n,
139 NULL);
140 case (TEST_RING_THREAD_SPSC | TEST_RING_ELEM_BULK):
141 return rte_ring_sp_enqueue_bulk_elem(r, obj, esize, n,
142 NULL);
143 case (TEST_RING_THREAD_MPMC | TEST_RING_ELEM_BULK):
144 return rte_ring_mp_enqueue_bulk_elem(r, obj, esize, n,
145 NULL);
146 case (TEST_RING_THREAD_DEF | TEST_RING_ELEM_BURST):
147 return rte_ring_enqueue_burst_elem(r, obj, esize, n,
148 NULL);
149 case (TEST_RING_THREAD_SPSC | TEST_RING_ELEM_BURST):
150 return rte_ring_sp_enqueue_burst_elem(r, obj, esize, n,
151 NULL);
152 case (TEST_RING_THREAD_MPMC | TEST_RING_ELEM_BURST):
153 return rte_ring_mp_enqueue_burst_elem(r, obj, esize, n,
154 NULL);
155 default:
156 printf("Invalid API type\n");
157 return 0;

Callers 6

load_loop_fn_helperFunction · 0.85
test_ring_basic_exFunction · 0.85

Calls 15

rte_ring_enqueueFunction · 0.85
rte_ring_sp_enqueueFunction · 0.85
rte_ring_mp_enqueueFunction · 0.85
rte_ring_enqueue_bulkFunction · 0.85
rte_ring_sp_enqueue_bulkFunction · 0.85
rte_ring_mp_enqueue_bulkFunction · 0.85
rte_ring_enqueue_burstFunction · 0.85
rte_ring_enqueue_elemFunction · 0.85
rte_ring_sp_enqueue_elemFunction · 0.85
rte_ring_mp_enqueue_elemFunction · 0.85

Tested by

no test coverage detected