260. Sample Application Tests: Hello World Example¶
This example is one of the most simple RTE application that can be done. The program will just print a “helloworld” message on every enabled lcore.
Command Usage:
./dpdk-helloworld -c COREMASK [-m NB] [-r NUM] [-n NUM]
EAL option list:
-c COREMASK: hexadecimal bitmask of cores we are running on
-m MB : memory to allocate (default = size of hugemem)
-n NUM : force number of memory channels (don't detect)
-r NUM : force number of memory ranks (don't detect)
--huge-file: base filename for hugetlbfs entries
debug options:
--no-huge : use malloc instead of hugetlbfs
--no-pci : disable pci
--no-hpet : disable hpet
--no-shconf: no shared config (mmap'd files)
260.1. Prerequisites¶
Support igb_uio and vfio driver, if used vfio, kernel need 3.6+ and enable vt-d in bios. When used vfio , used “modprobe vfio” and “modprobe vfio-pci” insmod vfio driver, then used ”./tools/dpdk_nic_bind.py –bind=vfio-pci device_bus_id” to bind vfio driver to test driver.
To find out the mapping of lcores (processor) to core id and socket (physical id), the command below can be used:
$ grep "processor\|physical id\|core id\|^$" /proc/cpuinfo
The total logical core number will be used as helloworld
input parameters.
260.2. Test Case: run hello world on single lcores¶
To run example in single lcore
$ ./dpdk-helloworld -c 1
hello from core 0
Check the output is exact the lcore 0
260.3. Test Case: run hello world on every lcores¶
To run the example in all the enabled lcore
$ ./dpdk-helloworld -cffffff
hello from core 1
hello from core 2
hello from core 3
...
...
hello from core 0
Verify the output of according to all the core masks.