Difference between revisions of "VPP/Alternative builds"

From fd.io
< VPP
Jump to: navigation, search
m
Line 8: Line 8:
  
  
== raspi3 / arm aarch32 ==
+
== arm aarch32 ==
 
* build configuration inherited from vpp-lite
 
* build configuration inherited from vpp-lite
 
* [https://lists.fd.io/pipermail/vpp-dev/2016-April/000593.html vpp-dev email thread]
 
* [https://lists.fd.io/pipermail/vpp-dev/2016-April/000593.html vpp-dev email thread]
Line 29: Line 29:
 
  <nowiki>
 
  <nowiki>
 
cpu {
 
cpu {
   main-core 3
+
   main-core 1
 
}
 
}
 
heapsize 64M</nowiki>
 
heapsize 64M</nowiki>
 +
 +
* Tegra - Jetson TK1
 +
On Tegra, we may use DPDK, but we have to rebuild our own kernel (tested with 4.5.3) to enable hugepages.
 +
Also, we must disable cpu idle.
 +
<nowiki>
 +
#!/bin/sh
 +
for cpu in 0 1 2 3 ; do
 +
for state in 0 1 ; do
 +
echo 1 > /sys/devices/system/cpu/cpu$cpu/cpuidle/state$state/disable
 +
done
 +
done
 +
</nowiki>
  
 
* Finally, run as usual:
 
* Finally, run as usual:
 
  <nowiki>make run</nowiki>
 
  <nowiki>make run</nowiki>

Revision as of 07:32, 3 June 2016

vpp-lite

export PLATFORM=vpp_lite
make build
make run


arm aarch32

  • make install-dep fails as the OS is not recognized, so install dependencies manually:
apt-get install curl build-essential autoconf automake bison libssl-dev ccache \
debhelper dkms openjdk-8-jdk git libtool libganglia1-dev libapr1-dev dh-systemd \
libconfuse-dev git-review exuberant-ctags cscope
  • Build:
export PLATFORM=arm32
make build
  • raspbian default kernel does not enable userspace application access to the performance counters (this access is required by vpp to read the cycle counter)
    • Download kernel module from github
    • This requires kernel headers: if you updated your kernel with rpi-update, you may have to download the whole kernel sources to retrieve kernel headers (see rpi-source)
    • build and test kmod (see included README)
  • raspbian kernel does not have hugepage support: modify the startup.conf file to specify the amount of RAM to allocate
cpu {
  main-core 1
}
heapsize 64M
  • Tegra - Jetson TK1

On Tegra, we may use DPDK, but we have to rebuild our own kernel (tested with 4.5.3) to enable hugepages. Also, we must disable cpu idle.

#!/bin/sh
for cpu in 0 1 2 3 ; do
for state in 0 1 ; do
echo 1 > /sys/devices/system/cpu/cpu$cpu/cpuidle/state$state/disable
done
done

  • Finally, run as usual:
make run