Benutzer-Werkzeuge

Webseiten-Werkzeuge


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