ZBLOG

dpdk创建内存池的函数

DPDK提供了rte_mempool_create函数来创建内存池。该函数的原型如下:

struct rte_mempool *rte_mempool_create(const char *name, unsigned int n, unsigned int elt_size, unsigned int cache_size, uint16_t private_data_size, rte_mempool_ctor_t *mp_init, void *mp_init_arg, rte_mempool_obj_cb_t *obj_init, void *obj_init_arg, int socket_id, unsigned int flags);

各参数含义如下:

  • name: 内存池名称。
  • n: 内存池中元素(即rte_mbuf结构体)的数量。
  • elt_size: 每个元素的大小,通常为RTE_MBUF_DEFAULT_BUF_SIZE。
  • cache_size: 每个逻辑核心缓存中可缓存的元素数目,通常为MBUF_CACHE_SIZE。
  • private_data_size: 与每个元素相关联的私有数据大小,如果不需要私有数据则设为0。
  • mp_init: 内存池初始化函数指针,在内存池创建时调用,可以为NULL。
  • mp_init_arg: 初始化函数参数,在内存池初始化函数被调用时传入该参数,可以为NULL。
  • obj_init: 元素初始化回调函数指针,在每次从内存池中取出元素时被调用,可以为NULL。
  • obj_init_arg: 元素初始化回调函数参数,在每次从内存池中取出元素时传入该参数,可以为NULL。
  • socket_id: 内存池在哪个NUMA节点上创建,可以为RTE_SOCKET_ID_ANY表示任意节点。
  • flags: 内存池的一些标志位,例如RTE_MEMPOOL_F_SP_PUT等。

该函数会返回一个rte_mempool类型的指针,如果创建失败则返回NULL。

本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
转载请注明出处:https://sdn.0voice.com/?id=1422

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
游客 游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~

联系我们

在线咨询: 点击这里给我发消息

微信号:3007537140

上班时间: 10:30-22:30

关注我们
x

注册

已经有帐号?