
DPDK
zhangtaoym
这个作者很懒,什么都没留下…
展开
-
DPDK 收发包处理流程(一)(网卡驱动注册)
转自:http://blog.youkuaiyun.com/xy010902100449/article/details/47282895本文基于DPDK-1.8.0分析。网卡驱动模型一般包含三层,即,PCI总线设备、网卡设备以及网卡设备的私有数据结构,即将设备的共性一层层的抽象,PCI总线设备包含网卡设备,网卡设备又包含其私有数据结构。在DPDK中,首先会注册设备驱动,然后查找当前系统有转载 2017-07-29 15:54:17 · 847 阅读 · 0 评论 -
DPDK 收发包处理流程(二)(网卡初始化)
转自:http://blog.youkuaiyun.com/xy010902100449/article/details/47282937三、PCI驱动注册调用rte_eal_init()--->rte_eal_dev_init()函数,遍历dev_driver_list链表,执行网卡驱动对应的init的回调函数,注册PCI驱动。/* Once the vdevs are inital转载 2017-07-29 16:23:31 · 805 阅读 · 0 评论 -
DPDK 内存管理(一)(内存初始化)
转自:http://blog.youkuaiyun.com/xy010902100449/article/details/472829951 前言 DPDK通过使用hugetlbfs,减少CPU TLB表的Miss次数,提高性能。2 初始化DPDK的内存初始化工作,主要是将hugetlbfs的配置的大内存页,根据其映射的物理地址是否连续、属于哪个Socket等,有效的组织起来,转载 2017-07-29 16:34:48 · 570 阅读 · 0 评论 -
DPDK 内存管理(三)(rte_malloc 内存管理)
转自:http://blog.youkuaiyun.com/xy010902100449/article/details/47283043rte_malloc()为程序运行过程中分配内存,模拟从堆中动态分配内存空间。1 void *2 rte_malloc(const char *type, size_t size, unsigned align)3 {4 return rt转载 2017-07-29 16:45:55 · 740 阅读 · 0 评论 -
DPDK 中断机制 eal_intr_handle_interrupts
转自:http://blog.youkuaiyun.com/xy010902100449/article/details/47283147DPDK通过在线程中使用epoll模型,监听UIO设备的事件,来模拟操作系统的中断处理。 一、中断初始化在rte_eal_intr_init()函数中初始化中断。具体如下:1、首先初始化intr_sources链表。所有UIO设备的中转载 2017-07-29 16:50:50 · 1045 阅读 · 0 评论