notiz:dpdk-debian-installieren
DPDK auf einem Debian installieren
Erst ein Debian wie gewohnt installieren.
Hugepages einrichten:
nano /etc/default/grub
Dort dann an an den Inhalt von GRUB_CMDLINE_LINUX_DEFAULT folgendes ergänzen:
default_hugepagesz=1G hugepagesz=1G hugepages=4 intel_iommu=on iommu=pt
Konfig anwenden:
update-grub
Dateisystem für Hugetables anlegen:
mkdir /mnt/huge_1GB nano /etc/fstab
Folgendes am Ende einfügen
nodev /mnt/huge_1GB hugetlbfs pagesize=1GB 0 0
rebooten
reboot
Prüfen ob Hugepages wirklich da sind:
cat /proc/meminfo | grep -i huge
Ausgabe:
AnonHugePages: 28672 kB ShmemHugePages: 0 kB HugePages_Total: 4 HugePages_Free: 4 HugePages_Rsvd: 0 HugePages_Surp: 0 Hugepagesize: 1048576 kB Hugetlb: 4194304 kB
Sind die Hugepages gemountet?
cat /proc/mounts | grep -i /mnt/huge_1GB
Ausgabe:
nodev /mnt/huge_1GB hugetlbfs rw,relatime,pagesize=1024M 0 0
Testen, ob iommu läuft:
ls -al /sys/kernel/iommu_groups/
Das Verzeichnis sollte nun nicht mehr leer sein.
Ein paar Pakete installieren:
apt update && apt upgrade apt install build-essential python3 meson ninja-build libnuma-dev
Kernelmodule laden
modprobe vfio-pci
DPDK herunterladen
wget http://fast.dpdk.org/rel/dpdk-20.02.tar.xz tar xJf dpdk-20.02.tar.xz cd dpdk-20.02 export RTE_SDK=$(pwd)
Geräte anziegen lassen
${RTE_SDK}/usertools/dpdk-devbind.py -s
Geräte binden
${RTE_SDK}/usertools/dpdk-devbind.py --bind=vfio-pci 0000:01:00.0 ${RTE_SDK}/usertools/dpdk-devbind.py --bind=vfio-pci 0000:01:00.1
DPDK bauen
cd ${RTE_SDK} make defconfig make
Ein Beispiel ausführen:
cd ${RTE_SDK}/examples/helloworld export RTE_TARGET=build make
notiz/dpdk-debian-installieren.txt · Zuletzt geändert: 2020/06/17 18:27 von clerie