DPDK通过在多核设备上,创建多个线程,每个线程绑定到单独的核上,减少线程调度的开销,以提高性能。DPDK的线程分为控制线程和数据线程,控制线程一般绑定到MASTER核上,主要是接受用户配置,并传递配置参数给数据线程等;数据线程主要是处理数据包。一、初始化1、rte_eal_cpu_init()函数...
分类:
编程语言 时间:
2014-11-17 17:40:24
阅读次数:
344
dpdk的版本是1.7.1的稳定版
绑定万兆网卡的默认驱动ixgbe失败
# ./dpdk_nic_bind.py -b ixgbe 06:00.1
Error: bind failed for 0000:06:00.1 - Cannot bind to driver ixgbe
查看原因 dmesg |tail
# dmesg |tail
[ 5667.433649] ixgbe...
分类:
其他好文 时间:
2014-11-12 19:50:32
阅读次数:
587
rte_malloc()为程序运行过程中分配内存,模拟从堆中动态分配内存空间。1 void *2 rte_malloc(const char *type, size_t size, unsigned align)3 {4 return rte_malloc_socket(type, size...
分类:
其他好文 时间:
2014-11-12 16:22:43
阅读次数:
265
DPDK以两种方式对外提供内存管理方法,一个是rte_mempool,主要用于网卡数据包的收发;一个是rte_malloc,主要为应用程序提供内存使用接口。本文讨论rte_mempool。rte_mempool由函数rte_mempool_create()负责创建,从rte_config.mem_c...
分类:
其他好文 时间:
2014-11-10 19:51:27
阅读次数:
703
DPDK以两种方式对外提供内存管理方法,一个是rte_mempool,主要用于网卡数据包的收发;一个是rte_malloc,主要为应用程序提供内存使用接口。本文讨论rte_mempool。rte_mempool由函数rte_mempool_create()负责创建,从rte_config.mem_c...
分类:
其他好文 时间:
2014-11-10 19:46:08
阅读次数:
316
1 前言DPDK通过使用hugetlbfs,减少CPU TLB表的Miss次数,提高性能。2 初始化DPDK的内存初始化工作,主要是将hugetlbfs的配置的大内存页,根据其映射的物理地址是否连续、属于哪个Socket等,有效的组织起来,为后续管理提供便利。2.1eal_hugepage_info...
分类:
其他好文 时间:
2014-11-06 12:46:54
阅读次数:
840
PF_RING中README.hugepage的翻译,huagepage在Intel DPDK的开发中也会使用到!!...
分类:
其他好文 时间:
2014-10-24 23:38:17
阅读次数:
472
DPDK介绍见:www.dpdk.org1. 所用系统与软件版本系统:Ubuntu 12.04.3 LTS 64位,CentOS Linux release 7.0.1406 64位dpdk: 1.7.0 (下载页)dpdk 1.7.1 经过试验,发现在这两个系统上都有问题, 运行各示例程序都有以下...
分类:
其他好文 时间:
2014-10-14 14:29:38
阅读次数:
900
DPDK将利用hugepage预留的物理内存统一的组织管理起来,然后以库的方式对外提供使用的接口。
rte_eal 是统一的组织管理者(当然rte_eal不只是做内存的工作);
rte_malloc 对外提供分配释放内存的API,分配的内存都是rte_eal中管...
分类:
其他好文 时间:
2014-10-13 01:49:29
阅读次数:
514
dpdk.orgWhat it isIntel® DPDK is a set of libraries and drivers for fast packet processing on x86 platforms. It runs mostly in Linux userland.This pro...
分类:
其他好文 时间:
2014-10-11 14:08:05
阅读次数:
266