Benutzer-Werkzeuge

Webseiten-Werkzeuge


notiz:dpdk-debian-installieren

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.

Link zu der Vergleichsansicht

Nächste Überarbeitung
Vorherige Überarbeitung
notiz:dpdk-debian-installieren [2020/05/17 13:23] – angelegt clerienotiz:dpdk-debian-installieren [2020/06/17 18:27] (aktuell) clerie
Zeile 4: Zeile 4:
  
 Hugepages einrichten: Hugepages einrichten:
-<code>+ 
 +<code bash>
 nano /etc/default/grub nano /etc/default/grub
 </code> </code>
-Dort dann an an den Inhalt von GRUB_CMDLINE_LINUX_DEFAULT folgendes ergänzen default_hugepagesz=1G hugepagesz=1G hugepages=4+Dort dann an an den Inhalt von GRUB_CMDLINE_LINUX_DEFAULT folgendes ergänzen
 +<code> 
 +default_hugepagesz=1G hugepagesz=1G hugepages=4 intel_iommu=on iommu=pt 
 +</code>
  
 +Konfig anwenden:
 +<code bash>
 +update-grub
 +</code>
 +
 +Dateisystem für Hugetables anlegen:
 +<code bash>
 +mkdir /mnt/huge_1GB
 +nano /etc/fstab
 +</code>
 +
 +Folgendes am Ende einfügen
 <code> <code>
 +nodev /mnt/huge_1GB hugetlbfs pagesize=1GB 0 0
 +</code>
 +
 +rebooten
 +<code bash>
 +reboot
 +</code>
 +
 +Prüfen ob Hugepages wirklich da sind:
 +<code bash>
 +cat /proc/meminfo | grep -i huge
 +</code>
 +
 +Ausgabe:
 +<code>
 +AnonHugePages:     28672 kB
 +ShmemHugePages:        0 kB
 +HugePages_Total:       4
 +HugePages_Free:        4
 +HugePages_Rsvd:        0
 +HugePages_Surp:        0
 +Hugepagesize:    1048576 kB
 +Hugetlb:         4194304 kB
 +</code>
 +
 +Sind die Hugepages gemountet?
 +<code bash>
 +cat /proc/mounts | grep -i /mnt/huge_1GB
 +</code>
 +
 +Ausgabe:
 +<code>
 +nodev /mnt/huge_1GB hugetlbfs rw,relatime,pagesize=1024M 0 0
 +</code>
 +
 +Testen, ob iommu läuft:
 +<code bash>
 +ls -al /sys/kernel/iommu_groups/
 +</code>
 +Das Verzeichnis sollte nun nicht mehr leer sein.
 +
 +Ein paar Pakete installieren:
 +<code bash>
 apt update && apt upgrade apt update && apt upgrade
 apt install build-essential python3 meson ninja-build libnuma-dev apt install build-essential python3 meson ninja-build libnuma-dev
 +</code>
  
 +Kernelmodule laden
 +<code bash>
 +modprobe vfio-pci
 +</code>
 +
 +DPDK herunterladen
 +<code bash>
 +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)
 +</code>
 +
 +Geräte anziegen lassen
 +<code bash>
 +${RTE_SDK}/usertools/dpdk-devbind.py -s
 +</code>
 +
 +Geräte binden
 +<code bash>
 +${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
 +</code>
 +
 +DPDK bauen
 +<code bash>
 +cd ${RTE_SDK}
 +make defconfig
 +make
 +</code>
  
 +Ein Beispiel ausführen:
 +<code bash>
 +cd ${RTE_SDK}/examples/helloworld
 +export RTE_TARGET=build
 +make
 </code> </code>
notiz/dpdk-debian-installieren.1589714602.txt.gz · Zuletzt geändert: 2020/05/17 13:23 von clerie

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki