xref: /dpdk/doc/guides/linux_gsg/eal_args.include.rst (revision 42fbb8e85d1f0b6c1d397d4e7559bc5877ba985e)
13ee567cfSAnatoly Burakov..  SPDX-License-Identifier: BSD-3-Clause
23ee567cfSAnatoly Burakov    Copyright(c) 2018 Intel Corporation.
33ee567cfSAnatoly Burakov
43ee567cfSAnatoly BurakovLcore-related options
53ee567cfSAnatoly Burakov~~~~~~~~~~~~~~~~~~~~~
63ee567cfSAnatoly Burakov
73ee567cfSAnatoly Burakov*   ``-c <core mask>``
83ee567cfSAnatoly Burakov
93ee567cfSAnatoly Burakov    Set the hexadecimal bitmask of the cores to run on.
103ee567cfSAnatoly Burakov
113ee567cfSAnatoly Burakov*   ``-l <core list>``
123ee567cfSAnatoly Burakov
133ee567cfSAnatoly Burakov    List of cores to run on
143ee567cfSAnatoly Burakov
153ee567cfSAnatoly Burakov    The argument format is ``<c1>[-c2][,c3[-c4],...]``
163ee567cfSAnatoly Burakov    where ``c1``, ``c2``, etc are core indexes between 0 and 128.
173ee567cfSAnatoly Burakov
183ee567cfSAnatoly Burakov*   ``--lcores <core map>``
193ee567cfSAnatoly Burakov
203ee567cfSAnatoly Burakov    Map lcore set to physical cpu set
213ee567cfSAnatoly Burakov
223ee567cfSAnatoly Burakov    The argument format is::
233ee567cfSAnatoly Burakov
243ee567cfSAnatoly Burakov       <lcores[@cpus]>[<,lcores[@cpus]>...]
253ee567cfSAnatoly Burakov
263ee567cfSAnatoly Burakov    Lcore and CPU lists are grouped by ``(`` and ``)`` Within the group.
273ee567cfSAnatoly Burakov    The ``-`` character is used as a range separator and ``,`` is used as a
283ee567cfSAnatoly Burakov    single number separator.
293ee567cfSAnatoly Burakov    The grouping ``()`` can be omitted for single element group.
303ee567cfSAnatoly Burakov    The ``@`` can be omitted if cpus and lcores have the same value.
313ee567cfSAnatoly Burakov
323ee567cfSAnatoly Burakov.. Note::
333ee567cfSAnatoly Burakov    At a given instance only one core option ``--lcores``, ``-l`` or ``-c`` can
343ee567cfSAnatoly Burakov    be used.
353ee567cfSAnatoly Burakov
36cb056611SStephen Hemminger*   ``--main-lcore <core ID>``
373ee567cfSAnatoly Burakov
38cb056611SStephen Hemminger    Core ID that is used as main.
393ee567cfSAnatoly Burakov
403ee567cfSAnatoly Burakov*   ``-s <service core mask>``
413ee567cfSAnatoly Burakov
423ee567cfSAnatoly Burakov    Hexadecimal bitmask of cores to be used as service cores.
433ee567cfSAnatoly Burakov
443ee567cfSAnatoly BurakovDevice-related options
453ee567cfSAnatoly Burakov~~~~~~~~~~~~~~~~~~~~~~
463ee567cfSAnatoly Burakov
47db27370bSStephen Hemminger*   ``-b, --block <[domain:]bus:devid.func>``
483ee567cfSAnatoly Burakov
49db27370bSStephen Hemminger    Skip probing a PCI device to prevent EAL from using it.
50db27370bSStephen Hemminger    Multiple -b options are allowed.
513ee567cfSAnatoly Burakov
523ee567cfSAnatoly Burakov.. Note::
53db27370bSStephen Hemminger    Block list cannot be used with the allow list ``-a`` option.
543ee567cfSAnatoly Burakov
55db27370bSStephen Hemminger*   ``-a, --allow <[domain:]bus:devid.func>``
563ee567cfSAnatoly Burakov
57db27370bSStephen Hemminger    Add a PCI device in to the list of devices to probe.
583ee567cfSAnatoly Burakov
593ee567cfSAnatoly Burakov.. Note::
60db27370bSStephen Hemminger    Allow list cannot be used with the block list ``-b`` option.
613ee567cfSAnatoly Burakov
623ee567cfSAnatoly Burakov*   ``--vdev <device arguments>``
633ee567cfSAnatoly Burakov
643ee567cfSAnatoly Burakov    Add a virtual device using the format::
653ee567cfSAnatoly Burakov
663ee567cfSAnatoly Burakov       <driver><id>[,key=val, ...]
673ee567cfSAnatoly Burakov
683ee567cfSAnatoly Burakov    For example::
693ee567cfSAnatoly Burakov
703ee567cfSAnatoly Burakov       --vdev 'net_pcap0,rx_pcap=input.pcap,tx_pcap=output.pcap'
713ee567cfSAnatoly Burakov
723ee567cfSAnatoly Burakov*   ``-d <path to shared object or directory>``
733ee567cfSAnatoly Burakov
743ee567cfSAnatoly Burakov    Load external drivers. An argument can be a single shared object file, or a
753ee567cfSAnatoly Burakov    directory containing multiple driver shared objects. Multiple -d options are
763ee567cfSAnatoly Burakov    allowed.
773ee567cfSAnatoly Burakov
783ee567cfSAnatoly Burakov*   ``--no-pci``
793ee567cfSAnatoly Burakov
803ee567cfSAnatoly Burakov    Disable PCI bus.
813ee567cfSAnatoly Burakov
823ee567cfSAnatoly BurakovMultiprocessing-related options
833ee567cfSAnatoly Burakov~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
843ee567cfSAnatoly Burakov
853ee567cfSAnatoly Burakov*   ``--proc-type <primary|secondary|auto>``
863ee567cfSAnatoly Burakov
873ee567cfSAnatoly Burakov    Set the type of the current process.
883ee567cfSAnatoly Burakov
898f29a607SAnatoly Burakov*   ``--base-virtaddr <address>``
908f29a607SAnatoly Burakov
918f29a607SAnatoly Burakov    Attempt to use a different starting address for all memory maps of the
928f29a607SAnatoly Burakov    primary DPDK process. This can be helpful if secondary processes cannot
938f29a607SAnatoly Burakov    start due to conflicts in address map.
948f29a607SAnatoly Burakov
953ee567cfSAnatoly BurakovMemory-related options
963ee567cfSAnatoly Burakov~~~~~~~~~~~~~~~~~~~~~~
973ee567cfSAnatoly Burakov
983ee567cfSAnatoly Burakov*   ``-n <number of channels>``
993ee567cfSAnatoly Burakov
1003ee567cfSAnatoly Burakov    Set the number of memory channels to use.
1013ee567cfSAnatoly Burakov
1023ee567cfSAnatoly Burakov*   ``-r <number of ranks>``
1033ee567cfSAnatoly Burakov
1043ee567cfSAnatoly Burakov    Set the number of memory ranks (auto-detected by default).
1053ee567cfSAnatoly Burakov
1063ee567cfSAnatoly Burakov*   ``-m <megabytes>``
1073ee567cfSAnatoly Burakov
1083ee567cfSAnatoly Burakov    Amount of memory to preallocate at startup.
1093ee567cfSAnatoly Burakov
1103ee567cfSAnatoly Burakov*   ``--in-memory``
1113ee567cfSAnatoly Burakov
1123ee567cfSAnatoly Burakov    Do not create any shared data structures and run entirely in memory. Implies
1133ee567cfSAnatoly Burakov    ``--no-shconf`` and (if applicable) ``--huge-unlink``.
1143ee567cfSAnatoly Burakov
1153ee567cfSAnatoly Burakov*   ``--iova-mode <pa|va>``
1163ee567cfSAnatoly Burakov
1173ee567cfSAnatoly Burakov    Force IOVA mode to a specific value.
1183ee567cfSAnatoly Burakov
119*42fbb8e8SDon Wallwork*   ``--huge-worker-stack[=size]``
120*42fbb8e8SDon Wallwork
121*42fbb8e8SDon Wallwork    Allocate worker stack memory from hugepage memory. Stack size defaults
122*42fbb8e8SDon Wallwork    to system pthread stack size unless the optional size (in kbytes) is
123*42fbb8e8SDon Wallwork    specified.
124*42fbb8e8SDon Wallwork
1253ee567cfSAnatoly BurakovDebugging options
1263ee567cfSAnatoly Burakov~~~~~~~~~~~~~~~~~
1273ee567cfSAnatoly Burakov
1283ee567cfSAnatoly Burakov*   ``--no-shconf``
1293ee567cfSAnatoly Burakov
1303ee567cfSAnatoly Burakov    No shared files created (implies no secondary process support).
1313ee567cfSAnatoly Burakov
1323ee567cfSAnatoly Burakov*   ``--no-huge``
1333ee567cfSAnatoly Burakov
1343ee567cfSAnatoly Burakov    Use anonymous memory instead of hugepages (implies no secondary process
1353ee567cfSAnatoly Burakov    support).
1363ee567cfSAnatoly Burakov
1373ee567cfSAnatoly Burakov*   ``--log-level <type:val>``
1383ee567cfSAnatoly Burakov
1393ee567cfSAnatoly Burakov    Specify log level for a specific component. For example::
1403ee567cfSAnatoly Burakov
14197fbfe5aSXiaolong Ye        --log-level lib.eal:debug
1423ee567cfSAnatoly Burakov
1433ee567cfSAnatoly Burakov    Can be specified multiple times.
1443ee567cfSAnatoly Burakov
1453d26a70aSSunil Kumar Kori*   ``--trace=<regex-match>``
1463d26a70aSSunil Kumar Kori
1473d26a70aSSunil Kumar Kori    Enable trace based on regular expression trace name. By default, the trace is
1483d26a70aSSunil Kumar Kori    disabled. User must specify this option to enable trace.
1493d26a70aSSunil Kumar Kori    For example:
1503d26a70aSSunil Kumar Kori
1513d26a70aSSunil Kumar Kori    Global trace configuration for EAL only::
1523d26a70aSSunil Kumar Kori
1533d26a70aSSunil Kumar Kori        --trace=eal
1543d26a70aSSunil Kumar Kori
1553d26a70aSSunil Kumar Kori    Global trace configuration for ALL the components::
1563d26a70aSSunil Kumar Kori
1573d26a70aSSunil Kumar Kori        --trace=.*
1583d26a70aSSunil Kumar Kori
1593d26a70aSSunil Kumar Kori    Can be specified multiple times up to 32 times.
1603d26a70aSSunil Kumar Kori
1618af866dfSSunil Kumar Kori*   ``--trace-dir=<directory path>``
1628af866dfSSunil Kumar Kori
1638af866dfSSunil Kumar Kori    Specify trace directory for trace output. For example:
1648af866dfSSunil Kumar Kori
1658af866dfSSunil Kumar Kori    Configuring ``/tmp/`` as a trace output directory::
1668af866dfSSunil Kumar Kori
1678af866dfSSunil Kumar Kori        --trace-dir=/tmp
1688af866dfSSunil Kumar Kori
1698af866dfSSunil Kumar Kori    By default, trace output will created at ``home`` directory and parameter
1708af866dfSSunil Kumar Kori    must be specified once only.
1718af866dfSSunil Kumar Kori
17244ab5377SSunil Kumar Kori*   ``--trace-bufsz=<val>``
17344ab5377SSunil Kumar Kori
17444ab5377SSunil Kumar Kori    Specify maximum size of allocated memory for trace output for each thread.
17544ab5377SSunil Kumar Kori    Valid unit can be either ``B`` or ``K`` or ``M`` for ``Bytes``, ``KBytes``
17644ab5377SSunil Kumar Kori    and ``MBytes`` respectively. For example:
17744ab5377SSunil Kumar Kori
17844ab5377SSunil Kumar Kori    Configuring ``2MB`` as a maximum size for trace output file::
17944ab5377SSunil Kumar Kori
18044ab5377SSunil Kumar Kori        --trace-bufsz=2M
18144ab5377SSunil Kumar Kori
18244ab5377SSunil Kumar Kori    By default, size of trace output file is ``1MB`` and parameter
18344ab5377SSunil Kumar Kori    must be specified once only.
18444ab5377SSunil Kumar Kori
1858c8066eaSSunil Kumar Kori*   ``--trace-mode=<o[verwrite] | d[iscard] >``
1868c8066eaSSunil Kumar Kori
1878c8066eaSSunil Kumar Kori    Specify the mode of update of trace output file. Either update on a file
1888c8066eaSSunil Kumar Kori    can be wrapped or discarded when file size reaches its maximum limit.
1898c8066eaSSunil Kumar Kori    For example:
1908c8066eaSSunil Kumar Kori
1918c8066eaSSunil Kumar Kori    To ``discard`` update on trace output file::
1928c8066eaSSunil Kumar Kori
1938c8066eaSSunil Kumar Kori        --trace-mode=d or --trace-mode=discard
1948c8066eaSSunil Kumar Kori
1958c8066eaSSunil Kumar Kori    Default mode is ``overwrite`` and parameter must be specified once only.
1968c8066eaSSunil Kumar Kori
1973ee567cfSAnatoly BurakovOther options
1983ee567cfSAnatoly Burakov~~~~~~~~~~~~~
1993ee567cfSAnatoly Burakov
2003ee567cfSAnatoly Burakov*   ``-h``, ``--help``
2013ee567cfSAnatoly Burakov
2023ee567cfSAnatoly Burakov    Display help message listing all EAL parameters.
2033ee567cfSAnatoly Burakov
2043ee567cfSAnatoly Burakov*   ``-v``
2053ee567cfSAnatoly Burakov
2063ee567cfSAnatoly Burakov    Display the version information on startup.
2073ee567cfSAnatoly Burakov
20865c2bbf4SDavid Marchand*   ``--mbuf-pool-ops-name``:
2093ee567cfSAnatoly Burakov
2103ee567cfSAnatoly Burakov    Pool ops name for mbuf to use.
21124cd1b52SCiara Power
21224cd1b52SCiara Power*    ``--telemetry``:
21324cd1b52SCiara Power
21424cd1b52SCiara Power    Enable telemetry (enabled by default).
21524cd1b52SCiara Power
21624cd1b52SCiara Power*    ``--no-telemetry``:
21724cd1b52SCiara Power
21824cd1b52SCiara Power    Disable telemetry.
219580af30dSCiara Power
220580af30dSCiara Power*    ``--force-max-simd-bitwidth=<val>``:
221580af30dSCiara Power
222580af30dSCiara Power    Specify the maximum SIMD bitwidth size to handle. This limits which vector paths,
223580af30dSCiara Power    if any, are taken, as any paths taken must use a bitwidth below the max bitwidth limit.
224580af30dSCiara Power    For example, to allow all SIMD bitwidths up to and including AVX-512::
225580af30dSCiara Power
226580af30dSCiara Power        --force-max-simd-bitwidth=512
227580af30dSCiara Power
228580af30dSCiara Power    The following example shows limiting the bitwidth to 64-bits to disable all vector code::
229580af30dSCiara Power
230580af30dSCiara Power        --force-max-simd-bitwidth=64
231580af30dSCiara Power
232580af30dSCiara Power    To disable use of max SIMD bitwidth limit::
233580af30dSCiara Power
234580af30dSCiara Power        --force-max-simd-bitwidth=0
235