13ee567cfSAnatoly Burakov.. SPDX-License-Identifier: BSD-3-Clause 23ee567cfSAnatoly Burakov Copyright(c) 2018 Intel Corporation. 33ee567cfSAnatoly Burakov 43ee567cfSAnatoly BurakovEAL parameters 53ee567cfSAnatoly Burakov============== 63ee567cfSAnatoly Burakov 73ee567cfSAnatoly BurakovThis document contains a list of all EAL parameters. These parameters can be 83ee567cfSAnatoly Burakovused by any DPDK application running on Linux. 93ee567cfSAnatoly Burakov 103ee567cfSAnatoly BurakovCommon EAL parameters 113ee567cfSAnatoly Burakov--------------------- 123ee567cfSAnatoly Burakov 133ee567cfSAnatoly BurakovThe following EAL parameters are common to all platforms supported by DPDK. 143ee567cfSAnatoly Burakov 153ee567cfSAnatoly Burakov.. include:: eal_args.include.rst 163ee567cfSAnatoly Burakov 173ee567cfSAnatoly BurakovLinux-specific EAL parameters 183ee567cfSAnatoly Burakov----------------------------- 193ee567cfSAnatoly Burakov 203ee567cfSAnatoly BurakovIn addition to common EAL parameters, there are also Linux-specific EAL 213ee567cfSAnatoly Burakovparameters. 223ee567cfSAnatoly Burakov 233ee567cfSAnatoly BurakovDevice-related options 243ee567cfSAnatoly Burakov~~~~~~~~~~~~~~~~~~~~~~ 253ee567cfSAnatoly Burakov 263ee567cfSAnatoly Burakov* ``--create-uio-dev`` 273ee567cfSAnatoly Burakov 283ee567cfSAnatoly Burakov Create ``/dev/uioX`` files for devices bound to igb_uio kernel driver 293ee567cfSAnatoly Burakov (usually done by the igb_uio driver itself). 303ee567cfSAnatoly Burakov 313ee567cfSAnatoly Burakov* ``--vmware-tsc-map`` 323ee567cfSAnatoly Burakov 333ee567cfSAnatoly Burakov Use VMware TSC map instead of native RDTSC. 343ee567cfSAnatoly Burakov 353ee567cfSAnatoly Burakov* ``--no-hpet`` 363ee567cfSAnatoly Burakov 373ee567cfSAnatoly Burakov Do not use the HPET timer. 383ee567cfSAnatoly Burakov 393ee567cfSAnatoly Burakov* ``--vfio-intr <legacy|msi|msix>`` 403ee567cfSAnatoly Burakov 413ee567cfSAnatoly Burakov Use specified interrupt mode for devices bound to VFIO kernel driver. 423ee567cfSAnatoly Burakov 43598be723SHaiyue Wang* ``--vfio-vf-token <uuid>`` 44598be723SHaiyue Wang 45598be723SHaiyue Wang Use specified VF token for devices bound to VFIO kernel driver. 46598be723SHaiyue Wang 473ee567cfSAnatoly BurakovMultiprocessing-related options 483ee567cfSAnatoly Burakov~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 493ee567cfSAnatoly Burakov 503ee567cfSAnatoly Burakov* ``--file-prefix <prefix name>`` 513ee567cfSAnatoly Burakov 523ee567cfSAnatoly Burakov Use a different shared data file prefix for a DPDK process. This option 533ee567cfSAnatoly Burakov allows running multiple independent DPDK primary/secondary processes under 543ee567cfSAnatoly Burakov different prefixes. 553ee567cfSAnatoly Burakov 563ee567cfSAnatoly BurakovMemory-related options 573ee567cfSAnatoly Burakov~~~~~~~~~~~~~~~~~~~~~~ 583ee567cfSAnatoly Burakov 593ee567cfSAnatoly Burakov* ``--legacy-mem`` 603ee567cfSAnatoly Burakov 613ee567cfSAnatoly Burakov Use legacy DPDK memory allocation mode. 623ee567cfSAnatoly Burakov 633ee567cfSAnatoly Burakov* ``--socket-mem <amounts of memory per socket>`` 643ee567cfSAnatoly Burakov 653ee567cfSAnatoly Burakov Preallocate specified amounts of memory per socket. The parameter is a 663ee567cfSAnatoly Burakov comma-separated list of values. For example:: 673ee567cfSAnatoly Burakov 683ee567cfSAnatoly Burakov --socket-mem 1024,2048 693ee567cfSAnatoly Burakov 703ee567cfSAnatoly Burakov This will allocate 1 gigabyte of memory on socket 0, and 2048 megabytes of 713ee567cfSAnatoly Burakov memory on socket 1. 723ee567cfSAnatoly Burakov 733ee567cfSAnatoly Burakov* ``--socket-limit <amounts of memory per socket>`` 743ee567cfSAnatoly Burakov 753ee567cfSAnatoly Burakov Place a per-socket upper limit on memory use (non-legacy memory mode only). 763ee567cfSAnatoly Burakov 0 will disable the limit for a particular socket. 773ee567cfSAnatoly Burakov 783ee567cfSAnatoly Burakov* ``--single-file-segments`` 793ee567cfSAnatoly Burakov 803ee567cfSAnatoly Burakov Create fewer files in hugetlbfs (non-legacy mode only). 813ee567cfSAnatoly Burakov 823ee567cfSAnatoly Burakov* ``--huge-dir <path to hugetlbfs directory>`` 833ee567cfSAnatoly Burakov 8424d5a1ceSJohn Levon Use specified hugetlbfs directory instead of autodetected ones. This can be 8524d5a1ceSJohn Levon a sub-directory within a hugetlbfs mountpoint. 863ee567cfSAnatoly Burakov 87*0dff3f26SDmitry Kozlyuk* ``--huge-unlink[=existing|always|never]`` 883ee567cfSAnatoly Burakov 89*0dff3f26SDmitry Kozlyuk No ``--huge-unlink`` option or ``--huge-unlink=existing`` is the default: 90*0dff3f26SDmitry Kozlyuk existing hugepage files are removed and re-created 91*0dff3f26SDmitry Kozlyuk to ensure the kernel clears the memory and prevents any data leaks. 92*0dff3f26SDmitry Kozlyuk 93*0dff3f26SDmitry Kozlyuk With ``--huge-unlink`` (no value) or ``--huge-unlink=always``, 94*0dff3f26SDmitry Kozlyuk hugepage files are also removed before mapping them, 95*0dff3f26SDmitry Kozlyuk so that the application leaves no files in hugetlbfs. 96*0dff3f26SDmitry Kozlyuk This mode implies no multi-process support. 97*0dff3f26SDmitry Kozlyuk 98*0dff3f26SDmitry Kozlyuk When ``--huge-unlink=never`` is specified, existing hugepage files 99*0dff3f26SDmitry Kozlyuk are never removed, but are remapped instead, allowing hugepage reuse. 100*0dff3f26SDmitry Kozlyuk This makes restart faster by saving time to clear memory at initialization, 101*0dff3f26SDmitry Kozlyuk but it may slow down zeroed allocations later. 102*0dff3f26SDmitry Kozlyuk Reused hugepages can contain data from previous processes that used them, 103*0dff3f26SDmitry Kozlyuk which may be a security concern. 104*0dff3f26SDmitry Kozlyuk Hugepage files created in this mode are also not removed 105*0dff3f26SDmitry Kozlyuk when all the hugepages mapped from them are freed, 106*0dff3f26SDmitry Kozlyuk which allows to reuse these files after a restart. 1073ee567cfSAnatoly Burakov 108476c847aSJim Harris* ``--match-allocations`` 109476c847aSJim Harris 110476c847aSJim Harris Free hugepages back to system exactly as they were originally allocated. 111476c847aSJim Harris 1123ee567cfSAnatoly BurakovOther options 1133ee567cfSAnatoly Burakov~~~~~~~~~~~~~ 1143ee567cfSAnatoly Burakov 1153ee567cfSAnatoly Burakov* ``--syslog <syslog facility>`` 1163ee567cfSAnatoly Burakov 1173ee567cfSAnatoly Burakov Set syslog facility. Valid syslog facilities are:: 1183ee567cfSAnatoly Burakov 1193ee567cfSAnatoly Burakov auth 1203ee567cfSAnatoly Burakov cron 1213ee567cfSAnatoly Burakov daemon 1223ee567cfSAnatoly Burakov ftp 1233ee567cfSAnatoly Burakov kern 1243ee567cfSAnatoly Burakov lpr 1253ee567cfSAnatoly Burakov mail 1263ee567cfSAnatoly Burakov news 1273ee567cfSAnatoly Burakov syslog 1283ee567cfSAnatoly Burakov user 1293ee567cfSAnatoly Burakov uucp 1303ee567cfSAnatoly Burakov local0 1313ee567cfSAnatoly Burakov local1 1323ee567cfSAnatoly Burakov local2 1333ee567cfSAnatoly Burakov local3 1343ee567cfSAnatoly Burakov local4 1353ee567cfSAnatoly Burakov local5 1363ee567cfSAnatoly Burakov local6 1373ee567cfSAnatoly Burakov local7 138