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

Function rte_comp_op_pool_create

dpdk/lib/compressdev/rte_comp.c:126–179  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

124}
125
126struct rte_mempool *
127rte_comp_op_pool_create(const char *name,
128 unsigned int nb_elts, unsigned int cache_size,
129 uint16_t user_size, int socket_id)
130{
131 struct rte_comp_op_pool_private *priv;
132
133 unsigned int elt_size = sizeof(struct rte_comp_op) + user_size;
134
135 /* lookup mempool in case already allocated */
136 struct rte_mempool *mp = rte_mempool_lookup(name);
137
138 if (mp != NULL) {
139 priv = (struct rte_comp_op_pool_private *)
140 rte_mempool_get_priv(mp);
141
142 if (mp->elt_size != elt_size ||
143 mp->cache_size < cache_size ||
144 mp->size < nb_elts ||
145 priv->user_size < user_size) {
146 mp = NULL;
147 COMPRESSDEV_LOG(ERR,
148 "Mempool %s already exists but with incompatible parameters",
149 name);
150 return NULL;
151 }
152 return mp;
153 }
154
155 mp = rte_mempool_create(
156 name,
157 nb_elts,
158 elt_size,
159 cache_size,
160 sizeof(struct rte_comp_op_pool_private),
161 NULL,
162 NULL,
163 rte_comp_op_init,
164 NULL,
165 socket_id,
166 0);
167
168 if (mp == NULL) {
169 COMPRESSDEV_LOG(ERR, "Failed to create mempool %s", name);
170 return NULL;
171 }
172
173 priv = (struct rte_comp_op_pool_private *)
174 rte_mempool_get_priv(mp);
175
176 priv->user_size = user_size;
177
178 return mp;
179}
180
181struct rte_comp_op *
182rte_comp_op_alloc(struct rte_mempool *mempool)

Callers 2

testsuite_setupFunction · 0.85

Calls 3

rte_mempool_lookupFunction · 0.85
rte_mempool_get_privFunction · 0.85
rte_mempool_createFunction · 0.85

Tested by 2

testsuite_setupFunction · 0.68