随笔分类 -  dpdk

多线程DPDK应用的内存优化
摘要:"原文链接" 作者 Conor Walsh is a software engineering intern with the Architecture Team of Intel’s Network Platform Group (NPG), based in Intel Shannon (Ire 阅读全文

posted @ 2020-01-19 15:55 zlyang 阅读(1323) 评论(0) 推荐(0)

docker编译dpdk
摘要:创建了一个centos7.2.1511的容器,其内核版本为3.10.0 327.el7.x86_64 而宿主机为ubuntu18.04,内核版本为4.15.0 20 generic 直接在docker中编译dpdk会因为找不到内核路径编译失败 和大多数涉及内核的工程类似,dpdkd 的编译脚本默认会 阅读全文

posted @ 2019-07-29 16:20 zlyang 阅读(954) 评论(0) 推荐(0)

DPDK网卡设备概念
摘要:DPDK网卡初始化流程中涉及的几个对象 port 端口对象,例如一个pcie网卡 rx_queue/tx_queue 端口收发队列对象 多核环境下,端口收到包后可指定响应的cpu来处理这个包。 通过增加收发队列,根据五元组哈希分配处理的core,实现计算资源的初步负载均衡 每个端口进来的包通过rss 阅读全文

posted @ 2019-06-20 13:44 zlyang 阅读(6873) 评论(0) 推荐(0)

DPDK线程启动方式
摘要:dpdk线程 rte_eal_init执行时会通过pthread_create创建一个worker线程(eal_thread_loop),并绑定到配置的lcore上, 可通过参数 c/ l/ lcores指定在那些核心创建worker线程。 每个worker线程拥有一对管道fd用于与master线程 阅读全文

posted @ 2019-06-14 16:15 zlyang 阅读(7371) 评论(0) 推荐(0)

rte_kni
摘要:DPDK版本:19.02 关于kni的接口,rte_kni.h的注释比较详细了,用法参考demo就行 这里分析一下kni接口配置的结构体 创建kni接口的API原型: struct rte_kni rte_kni_alloc(struct rte_mempool pktmbuf_pool, cons 阅读全文

posted @ 2019-06-05 10:30 zlyang 阅读(770) 评论(0) 推荐(0)

使用Valgrind检测DPDK内存泄漏
摘要:直接用valgrind检测使用dpdk库的程序可能会报错 如: ERROR: This system does not support "RDRAND". Please check that RTE_MACHINE is set correctly. 解决办法: 禁用CPUd RDRAND 修改mk 阅读全文

posted @ 2018-11-08 23:47 zlyang 阅读(2499) 评论(0) 推荐(0)

导航