首页 > 其他 > 详细

DPDK编译步骤

时间:2017-01-03 11:47:51      阅读:420      评论:0      收藏:0      [点我收藏+]
大页内存分配:
 NUMA系统(现在的linux一般都是)
  1. echo 1024 > /sys/devices/system/node/node0/hugepages/hugepages-2048kB/nr_hugepages
  2. echo 1024 > /sys/devices/system/node/node1/hugepages/hugepages-2048kB/nr_hugepages
  1. [root@localhost dpdk-dst]# lscpu
  2. Architecture: x86_64
  3. CPU op-mode(s): 32-bit, 64-bit
  4. Byte Order: Little Endian
  5. CPU(s): 2
  6. On-line CPU(s) list: 0,1
  7. Thread(s) per core: 1
  8. Core(s) per socket: 2
  9. Socket(s): 1
  10. NUMA node(s): 1
  11. Vendor ID: GenuineIntel
  12. CPU family: 6
  13. Model: 61
  14. Model name: Intel(R) Core(TM) i5-5200U CPU @ 2.20GHz
  15. Stepping: 4
  16. CPU MHz: 2194.916
  17. BogoMIPS: 4389.83
  18. Hypervisor vendor: VMware
  19. Virtualization type: full
  20. L1d cache: 32K
  21. L1i cache: 32K
  22. L2 cache: 256K
  23. L3 cache: 3072K
  24. NUMA node0 CPU(s): 0,1
从上面可以看到,
  1. NUMA node(s): 1
总共有一个NUMA node,注意这里的node个人理解就是具有独立内存和CPU总线的最小计算单元(每个node内部有自己的CPU总线和内存),而Core就是socket里独立的一组程序执行的硬件单元,比如寄存器,计算单元等,不单独占有内存。

非NUMA系统
  1. echo 1024 > /sys/kernel/mm/hugepages/hugepages-2048kB/nr_hugepages

大页内存的挂载
  1. mkdir /mnt/huge
  2. mount -t hugetlbfs nodev /mnt/huge


  1. export RTE_SDK=/home/yml/dpdk/dpdk-stable-16.07.2    //这个是你生成的编译环境的路径
  2. export RTE_TARGET=x86_64-native-linuxapp-gcc    //编译的环境变量
  3. export DESTDIR = /home/yml/dpdk/dpdk-stable-16.07.2/ //你的安装路径,就是编译出来的文件的路径

编译
  1. make install T=$RTE_TARGET

Loading Modules to Enable Userspace IO for DPDK 
  1. cd x86_64-native-linuxapp-gcc/
  2. sudo modprobe uio
  3. sudo insmod kmod/igb_uio.ko

网卡绑定
  1. ./tools/dpdk-devbind.py --status 查询网卡状态
  1. [root@localhost tools]# ./dpdk-devbind.py --status
  2. Network devices using DPDK-compatible driver
  3. ============================================
  4. 0000:02:05.0 ‘82545EM Gigabit Ethernet Controller (Copper)‘ drv=ig`b_uio unused=e1000
  5. 0000:02:06.0 ‘82545EM Gigabit Ethernet Controller (Copper)‘ drv=igb_uio unused=e1000
  6. Network devices using kernel driver
  7. ===================================
  8. 0000:02:01.0 ‘82545EM Gigabit Ethernet Controller (Copper)‘ if=eno16777736 drv=e1000 unused=igb_uio *Active*
  9. 0000:02:07.0 ‘82545EM Gigabit Ethernet Controller (Copper)‘ if=eno67109432 drv=e1000 unused=igb_uio
  10. Other network devices
  11. =====================
  12. <none>

  1. ./tools/dpdk-devbind.py --bind=igb_uio 02:07.0








DPDK编译步骤

原文:http://www.cnblogs.com/yml435/p/6244052.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!