跳转至

环境抽象层


更新于 2023-02-12

Environment Abstraction Layer (EAL),环境抽象层
负责维护底层资源(例如:硬件和内存空间)并为应用提供通用接口。

ELA功能

  • 为DPDK应用提供运行环境
  • 亲核性
  • 系统内存预留
  • 跟踪和调试
  • 原子类型和锁
  • 指令集优化
  • 中断处理
  • 告警操作

内存映射和内存预留

利用大页内存技术来使用大量并且连续得物理内存
EAL在大页内存上分配命名内存区(named memory zones)

动态内存模式

传统内存模式

命令行通过--legacy-mem启用该模式

内存限制

  • RTE_MAX_MEMSEG_LISTS 段列表个数
  • RTE_MAX_MEM_MB_PER_LIST 每个段列表得内存大小
  • RTE_MAX_MEMSEG_PER_LIST 每个列表段内段得个数
  • RTE_MAX_MEMSEG_PER_TYPE 每种内存类型拥有得内存段个数,类型命名“页大小+ NUMA节点”
  • RTE_MAX_MEM_MB_PER_TYPE 每种内存类型得内存大小
  • RTE_MAX_MEM_MB DPDK预留内存总数

大页映射

在匿名映射(--in-memory)或hugetlbfs(默认)里使用文件
将每个大页隐射到一个文件,或将所有大页映射到一个一个文件(--single-file-segments)