DPDK17.02内存池管理2 – rte_mempool_ops

内存池通过DPDK中注册的一系列处理函数进行管理操作。

1、数据结构

共涉及到两个数据结构。

1.1 struct rte_mempool_ops

该数据结构定义了对 mempool 进行操作的各个函数接口

1.2 struct rte_mempool_ops_table

该数据结构使用一个数组保存已注册的 ops 结构。
每个进程都有其自己的结构用来保存这些 ops 结构,因此 mempool 可以在主进程和次进程之间共享。

2、注册新的 struct rte_mempool_ops

DPDK 使用 rte_mempool_register_ops() 函数对新的 ops 结构进行注册。

3、MEMPOOL_REGISTER_OPS 宏

DPDK中使用该宏来注册 mempool 处理函数。

需要注意的是,如果注册失败,这里不会有任何提示。

4、rte_mempool_set_ops_byname() 函数

该函数为指定的 mp 指定对应的 ops。

5、mempool 处理函数

DPDK 中默认使用了 4 组处理函数,分别对应多生产者多消费者,单生产者单消费者,多生产者单消费者,单生产者多消费者。

————————————————————

原创文章,转载请注明: 转载自孙希栋的博客

本文链接地址: 《DPDK17.02内存池管理2 – rte_mempool_ops》

发表评论

电子邮件地址不会被公开。 必填项已用*标注

Scroll Up