其他分享
首页 > 其他分享> > 测试

测试

作者:互联网

概述

DPDK 19.11包含两种内存模式,一种为16.11兼容性模式,一种为支持PA和VA的新模式。rte_eal_init为入口函数,以下对该函数中的重点内存函数进行详细说明。

目录

eal_hugepage_info_init
rte_eal_memzone_init
rte_eal_memory_init
rte_eal_malloc_heap_init

巨页信息初始化

eal_hugepage_info_init主要进行internal_config.hugepage_info结构的初始化,该结构表示系统里包含的每种不同页大小的巨页类型信息,其中每个数据元素表示一种页大小,及拥有该大小的页个数。该函数将hugepage_info数组映射到共享内存文件中,名称为hugepage挂载点/hugepage_info。

memzone位图数据初始化

DPDK 19.11使用了fbarray位图数据结构来表示各个位图。rte_eal_memzone_init函数主要是初始化mem_config的memzones位图结构。
![image](https://www.icode9.com/i/l/?n=22&i=blog/2795793/202203/2795793-20220322193034589-1320152511.png)

memseg巨页系统内存初始化

rte_eal_memory_init该函数主要进行系统物理内存的扫描并记录分散的连续物理内存段,同时将这些物理内存映射到DPDK应用中,建立物理内存和虚拟内存的对照数据结构。该函数包含三个重要函数,rte_eal_memseg_init、eal_memalloc_init和rte_eal_hugepage_init。

rte_eal_memseg_init

顾名思义,该函数进行memseg链的初始化。memseg数据结构表示的是

标签:rte,eal,init,hugepage,内存,测试,函数
来源: https://www.cnblogs.com/songyan/p/16041727.html