DPDK
guanghui92luo
这个作者很懒,什么都没留下…
展开
-
DPDK基本技术一
Linux环境下的UIO(userspace I/O)UIO指的是运行在用户空间的I/O技术,是实现用户空间下驱动程序的支撑机制。转载 2017-12-19 21:12:08 · 5237 阅读 · 1 评论 -
DPDK l2fwd-crypto例子
DPDK二层转发和加密结合在一起,因为最近需要引用到DPDK的加解密函数,所以研究了这个例子配置运行:因为DPDK默认只提供了NULL CRYPTO POLL MODE DRIVER,所以我们需要在编译DPDK的时候打开其他 CRYPTO POLL MODE DRIVER的开关原创 2017-12-28 21:04:32 · 2824 阅读 · 0 评论 -
DPDK内存管理一:结构体
DPDK的内存管理工作主要分布在几个大的部分:大页初始化与管理,内存管理。使用大页可以减少页表开销,是为了尽量减少TBL miss导致的性能损失。基于大页,DPDK又进一步细化管理这部分内存,使得分配,回收更加方便。 大页内存的基本原理在前面已经解释过了,这里就不在继续。首先熟悉一下DPDK 内存相关的结构体:struct rte_mem_config(rte_eal_memconfig.h)转载 2017-12-29 15:52:36 · 1284 阅读 · 0 评论 -
DPDK内存管理二:初始化
DPDK 内存的初始化主要在rte_eal_init()函数中进行:eal_hugepage_info_init()/* 获取系统中hugepage种类以及数量信息到internal_config.hugepage_info,用于后续内存初始化 */ if (internal_config.no_hugetlbfs == 0 && internal_config.转载 2017-12-29 16:46:30 · 3362 阅读 · 0 评论 -
DPDK内存管理三:用户接口
DPDK以两种方式对外提供内存管理方法,一个是rte_mempool,主要用于网卡数据包的收发;一个是rte_malloc,主要为应用程序提供内存使用接口。struct rte_mempool 内存池结构体/** * The RTE mempool structure. */struct rte_mempool { /* * Note: this field kept the转载 2017-12-29 17:31:21 · 721 阅读 · 0 评论 -
DPDK基本技术二
CPU的物理核,逻辑核概念一个物理封装的CPU(通过physical id区分判断)可以有多个核(通过core id区分判断)。而每个核可以有多个逻辑cpu(通过processor区分判断)。一个核通过多个逻辑cpu实现这个核自己的超线程技术。物理处理器封装个数: sockets, 中文翻译成“插槽”,也就是所谓的物理处理器封装个数,即俗称的“物理CPU数”,管理员可能会称之为“路”。 例如一块转载 2017-12-19 21:24:18 · 649 阅读 · 0 评论