xref: /dpdk/doc/guides/linux_gsg/linux_eal_parameters.rst (revision 0dff3f26d6faad4e51f75e5245f0387ee9bb0c6d)
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