前言

在CentOS7下首先试验了安装20.11(LTS),编译报错,故换用20.08。

整个安装流程实际上是完全按照官方文档进行的,但是官方文档对于部分步骤的描述不够清楚,所以记录下来供参考。

网卡:Intel X520 X710

GCC 9.3.0 建议不要用10.2,编译不过,没有排查问题是否是GCC 10.2的原因。

准备工作

yum --enablerepo=elrepo-kernel install kernel-ml-devel

2、安装meson和ninja(新版本dpdk只支持这样子编译)

pip3 install meson ninja

3、安装numa库

yum install -y numactl numactl-devel

4、配置hugepage(1G和2M),配置IOMMU

vim /etc/default/grub

# add this to the end of GRUB_CMDLINE_LINUX:

# default_hugepagesz=1G hugepagesz=1G hugepages=16 hugepagesz=2M hugepages=2048 iommu=pt intel_iommu=on isolcpus=1-15,16-31

grub2-mkconfig -o /boot/grub2/grub.cfg

# if /boot/grub2/grub.cfg not exit, try:

grub2-mkconfig -o /boot/efi/EFI/centos/grub.cfg

reboot

# Get the hugepage size.

awk '/Hugepagesize/ {print $2}' /proc/meminfo

# Get the total huge page numbers.

awk '/HugePages_Total/ {print $2} ' /proc/meminfo

# Unmount the hugepages.

umount `awk '/hugetlbfs/ {print $2}' /proc/mounts`

# Create the hugepage mount folder.

mkdir -p /mnt/huge

# Mount to the specific folder.

mount -t hugetlbfs nodev /mnt/huge

# check configure

cat /proc/meminfo

# add this to /etc/fstab to auto load hugepage when boot

nodev /mnt/huge hugetlbfs pagesize=1GB 0 0

reboot

5、编译安装DPDK

tar xJf dpdk-.tar.xz

cd dpdk-

# meson build

meson -Dexamples=all build

cd build

ninja

ninja install

vim /etc/ld.so.conf.d/dpdk-20.08.conf

# paste this to file:

# /usr/local/lib

# /usr/local/lib64

ldconfig

6、绑定网卡

# load kernel model

modprobe vfio-pci

# display the interface list

./usertools/dpdk-devbind.py --status

# bind device to vfio

./usertools/dpdk-devbind.py -b vfio-pci 0000:3b:00.0

# check it

./usertools/dpdk-devbind.py --status

7、以接收模式跑一下testpmd进行测试(testpmd是一个dpdk转发工具,可以只接收)

# cd build/app

# run testpmd with interactive mode

./dpdk-testpmd -c 0xffff -m 4096 -n 2 -- -i -a --forward-mode=rxonly --rxd=4096 --txd=4096 --nb-cores=12 --rss-ip

# display info

show port stats all

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐