
dpdk
air5005
希望能记录工作中学习到的所有知识,与大家分析、一起学习
展开
-
dpdk mbuf之概念理解
对dpdk的mbuf理解下次更新对mbuf的学习总结原创 2019-03-13 15:51:10 · 12833 阅读 · 2 评论 -
dpdk mbuf之代码流程
创建mbuf的内存池当我们要使用mbuf的时候,需要先创建一个mbuf的内存池,然后每次都从mp里面alloc和free即可。相对dpdk提供的mbuf库来说,使用比较简单,具体代码在:dpdk/lib/librte_mbuf 目录里面struct rte_mempool *rte_pktmbuf_pool_create(const char *name, unsigned int n,...原创 2019-03-13 18:53:08 · 5809 阅读 · 0 评论 -
dpdk mbuf之结构体学习
struct rte_mbufstruct rte_mbuf的源码定义如下,struct rte_mbuf结构体定义的时候,由于成员原来越多,所以有意跨两个cache line大小,通过MARKER cacheline0和MARKER cacheline1来标示两个cache line, cacheline0到 cacheline1之间的变量都是在cache line 0,原则上将基础性、频繁...原创 2019-03-13 15:51:25 · 8168 阅读 · 1 评论 -
dpdk eal初始化流程梳理
for dpdk-18.11这里把dpdk的eal初始化流程简单汇总,尽量把每个函数功能介绍详细,持续更新中rte_eal_init│├──rte_cpu_is_supported:检查cpu是否支持│├──rte_atomic32_test_and_set:操作静态局部变量run_once确保函数只执行一次│├──pthread_self() 获取主线程的线程ID,只是用于打印...原创 2019-03-21 10:29:05 · 2687 阅读 · 1 评论 -
dpdk mempool之代码流程
dpdk mempool之代码流程原创 2019-03-11 19:12:55 · 2069 阅读 · 0 评论 -
dpdk mempool之结构体学习
rte_mempool结构体struct rte_mempool { /* * Note: this field kept the RTE_MEMZONE_NAMESIZE size due to ABI * compatibility requirements, it could be changed to * RTE_MEMPOOL_NAMESIZE next time the...原创 2019-03-11 16:39:49 · 2552 阅读 · 0 评论 -
dpdk mempool之概念学习
dpdk mempool学习总结概序dpdk的mempool是预先分配预固定大小的内存池,它可以通过名字来表示不同的内存池,通过注册不同钩子函数来申请、释放内存对象。默认的handler是无锁ring库来实现的。同时,它也提供了一些其它特性:每个core独立的对象缓存区local_cache,用来减少多核访问造成的冲突(无锁ring需要用到cas机制,所以频繁使用,对系统性能还是有比较大...原创 2019-03-11 15:49:04 · 3134 阅读 · 3 评论 -
dpdk kni学习
相关概念Kernel NIC Interface (KNI) 是dpdk提供的允许用户面的应用报文访问内核协议栈接口库。kni主要的特点: mbuf到skb转化,只需要一次内存拷贝,中间mbuf从用户态传到内核态,走的是内存零拷贝,中间没有系统调用和copy_to_user()/copy_from_user() 操作; 允许用户通过标准的linux net tools查看dpdk的报文...原创 2019-03-14 17:16:38 · 1501 阅读 · 1 评论 -
对dpdk的rte_ring实现原理和代码分析
对dpdk的rte_ring实现原理和代码分析前言dpdk的rte_ring是借鉴了linux内核的kfifo实现原理,这里统称为无锁环形缓冲队列。环形缓冲区通常有一个读指针和一个写指针。读指针指向环形缓冲区中可读的数据,写指针指向环形缓冲区中可写的数据。通过移动读指针和写指针就可以实现缓冲区的数据读取和写入。在通常情况下,环形缓冲区的读用户仅仅会影响读指针, 而写用户仅仅会影响写指针。...原创 2019-03-05 18:25:52 · 8213 阅读 · 1 评论 -
centos7.4+vmware12安装dpdk环境
centos7.4+vmware12安装dpdk环境编译dpdkcd /home/ych/wget https://fast.dpdk.org/rel/dpdk-18.05.1.tar.xztar -xvf dpdk-18.05.1.tar.xzexport DPDK_DIR=/home/ych/dpdk-stable-18.05.1export DPDK_TARGET=x86_64...原创 2019-03-06 08:57:27 · 1097 阅读 · 0 评论 -
vpp之dpdk测试环境搭建
绑定82955网口到dpdk模式sudo modprobe vfio-pcisudo /usr/bin/chmod a+x /dev/vfiosudo /usr/bin/chmod 0666 /dev/vfio/*sudo ifconfig p3p2 downsudo ./dpdk-devbind.py --bind=vfio-pci p3p2sudo ./dpdk-devbind.p...原创 2019-03-26 16:47:33 · 4664 阅读 · 0 评论