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
Letzte ÜberarbeitungBeide Seiten, nächste Überarbeitung
notiz:dpdk-debian-installieren [2020/05/17 18:20] clerienotiz:dpdk-debian-installieren [2020/05/22 13:07] 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 
 +</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 AnonHugePages:     28672 kB
Zeile 48: Zeile 51:
 </code> </code>
  
-<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 nodev /mnt/huge_1GB hugetlbfs rw,relatime,pagesize=1024M 0 0
 </code> </code>
  
 +Testen, ob iommu läuft:
 +<code bash>
 +ls -al /sys/kernel/iommu_groups/
 +</code>
 +Das Verzeichnis sollte nun nicht mehr leer sein.
  
-<code>+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
Zeile 62: Zeile 74:
  
 Kernelmodule laden Kernelmodule laden
- +<code bash>
-<code>+
 modprobe vfio-pci modprobe vfio-pci
 </code> </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>
 +
 +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> </code>
  
 DPDK bauen DPDK bauen
- +<code bash>
-<code>+
 cd ${RTE_SDK} cd ${RTE_SDK}
 make defconfig make defconfig
Zeile 85: Zeile 105:
  
 Ein Beispiel ausführen: Ein Beispiel ausführen:
-<code>+<code bash>
 cd ${RTE_SDK}/examples/helloworld cd ${RTE_SDK}/examples/helloworld
 export RTE_TARGET=build export RTE_TARGET=build
 make make
 </code> </code>
notiz/dpdk-debian-installieren.txt · Zuletzt geändert: 2020/06/17 18:27 von clerie

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki