Benutzer-Werkzeuge

Webseiten-Werkzeuge


notiz:dpdk-debian-installieren

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.

Link zu der Vergleichsansicht

Beide Seiten, vorherige ÜberarbeitungVorherige Überarbeitung
Nächste Überarbeitung
Vorherige Überarbeitung
notiz:dpdk-debian-installieren [2020/05/17 14:19] clerienotiz:dpdk-debian-installieren [2020/06/17 18:27] (aktuell) clerie
Zeile 5: Zeile 5:
 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
-Dort dann an an den Inhalt von GRUB_CMDLINE_LINUX_DEFAULT folgendes ergänzen default_hugepagesz=1G hugepagesz=1G hugepages=4 +<code> 
 +default_hugepagesz=1G hugepagesz=1G hugepages=4 intel_iommu=on iommu=pt 
 +</code>
  
 Konfig anwenden: Konfig anwenden:
-<code> +<code bash
-grub-mkconfig -o /boot/grub/grub.cfg+update-grub
 </code> </code>
  
 Dateisystem für Hugetables anlegen: Dateisystem für Hugetables anlegen:
- +<code bash>
-<code>+
 mkdir /mnt/huge_1GB mkdir /mnt/huge_1GB
 nano /etc/fstab nano /etc/fstab
 </code> </code>
  
 +Folgendes am Ende einfügen
 <code> <code>
 nodev /mnt/huge_1GB hugetlbfs pagesize=1GB 0 0 nodev /mnt/huge_1GB hugetlbfs pagesize=1GB 0 0
 </code> </code>
  
-reboot +rebooten 
-<code>+<code bash>
 reboot reboot
 </code> </code>
  
-Prüfen ob hugepages wirklich da sind: +Prüfen ob Hugepages wirklich da sind: 
-<code>+<code bash>
 cat /proc/meminfo | grep -i huge cat /proc/meminfo | grep -i huge
 </code> </code>
  
 +Ausgabe:
 <code> <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 cat /proc/mounts | grep -i /mnt/huge_1GB
 </code> </code>
  
 +Ausgabe:
 <code> <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> </code>
  
 +Kernelmodule laden
 +<code bash>
 +modprobe vfio-pci
 +</code>
  
-Im entsprechenden Nutzer dann: +DPDK herunterladen 
- +<code bash>
-<code>+
 wget http://fast.dpdk.org/rel/dpdk-20.02.tar.xz wget http://fast.dpdk.org/rel/dpdk-20.02.tar.xz
 tar xJf dpdk-20.02.tar.xz tar xJf dpdk-20.02.tar.xz
 cd dpdk-20.02 cd dpdk-20.02
 export RTE_SDK=$(pwd) export RTE_SDK=$(pwd)
-<code>+</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 DPDK bauen
- +<code bash>
-<code>+
 cd ${RTE_SDK} cd ${RTE_SDK}
 make defconfig make defconfig
Zeile 67: Zeile 105:
  
 Ein Beispiel ausführen: Ein Beispiel ausführen:
-<code> +<code bash
-${RTE_SDK}/examples/blub+cd ${RTE_SDK}/examples/helloworld
 export RTE_TARGET=build export RTE_TARGET=build
 make make
 </code> </code>
notiz/dpdk-debian-installieren.1589717984.txt.gz · Zuletzt geändert: 2020/05/17 14:19 von clerie

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki