目录
文章目录
MEMPOOL(librte_mempool,Memory Pool Manager,内存池管理组件)
MEMPOOL 库提供了一组 API,用于从指定的 Memzone 中分配 Memory Pools 空间。相较于 MALLOC 库用于控制面处理逻辑,MEMPOOL 库则是用于数据面处理逻辑(配合 MBUF 库)。
MEMPOOL 库提供了以下特性:
-
预分配内存:在 Mempool 初始化时,可以预先把 Memory Pools 所需要的 Memory 资源从 Memzone 划分出来。
-
高效地分配和回收内存:DPDK Application 运行期间可以对 Memory Pools 的资源进行重复利用(分配和回收),避免了频繁的 Memzone 分配和释放操作,以此来提高处理性能和可靠性。
-
管理内存的使用:负责跟踪 Memory Pool 资源的使用情况,避免 Physical Memory 层面的泄漏和重复释放的问题。
-
多线程