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

Function rte_event_vector_pool_create

dpdk/lib/eventdev/rte_eventdev.c:1420–1463  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1418}
1419
1420struct rte_mempool *
1421rte_event_vector_pool_create(const char *name, unsigned int n,
1422 unsigned int cache_size, uint16_t nb_elem,
1423 int socket_id)
1424{
1425 const char *mp_ops_name;
1426 struct rte_mempool *mp;
1427 unsigned int elt_sz;
1428 int ret;
1429
1430 if (!nb_elem) {
1431 RTE_EDEV_LOG_ERR("Invalid number of elements=%d requested",
1432 nb_elem);
1433 rte_errno = EINVAL;
1434 return NULL;
1435 }
1436
1437 elt_sz =
1438 sizeof(struct rte_event_vector) + (nb_elem * sizeof(uintptr_t));
1439 mp = rte_mempool_create_empty(name, n, elt_sz, cache_size, 0, socket_id,
1440 0);
1441 if (mp == NULL)
1442 return NULL;
1443
1444 mp_ops_name = rte_mbuf_best_mempool_ops();
1445 ret = rte_mempool_set_ops_byname(mp, mp_ops_name, NULL);
1446 if (ret != 0) {
1447 RTE_EDEV_LOG_ERR("error setting mempool handler");
1448 goto err;
1449 }
1450
1451 ret = rte_mempool_populate_default(mp);
1452 if (ret < 0)
1453 goto err;
1454
1455 rte_eventdev_trace_vector_pool_create(mp, mp->name, mp->socket_id,
1456 mp->size, mp->cache_size, mp->elt_size);
1457
1458 return mp;
1459err:
1460 rte_mempool_free(mp);
1461 rte_errno = -ret;
1462 return NULL;
1463}
1464
1465int
1466rte_event_dev_start(uint8_t dev_id)

Callers 6

perf_cryptodev_setupFunction · 0.85
init_memFunction · 0.85
eh_rx_adapter_configureFunction · 0.85
mainFunction · 0.85

Calls 5

rte_mempool_create_emptyFunction · 0.85
rte_mempool_freeFunction · 0.85

Tested by 2

perf_cryptodev_setupFunction · 0.68