xref: /dpdk/doc/guides/linux_gsg/eal_args.include.rst (revision 42fbb8e85d1f0b6c1d397d4e7559bc5877ba985e)
1..  SPDX-License-Identifier: BSD-3-Clause
2    Copyright(c) 2018 Intel Corporation.
3
4Lcore-related options
5~~~~~~~~~~~~~~~~~~~~~
6
7*   ``-c <core mask>``
8
9    Set the hexadecimal bitmask of the cores to run on.
10
11*   ``-l <core list>``
12
13    List of cores to run on
14
15    The argument format is ``<c1>[-c2][,c3[-c4],...]``
16    where ``c1``, ``c2``, etc are core indexes between 0 and 128.
17
18*   ``--lcores <core map>``
19
20    Map lcore set to physical cpu set
21
22    The argument format is::
23
24       <lcores[@cpus]>[<,lcores[@cpus]>...]
25
26    Lcore and CPU lists are grouped by ``(`` and ``)`` Within the group.
27    The ``-`` character is used as a range separator and ``,`` is used as a
28    single number separator.
29    The grouping ``()`` can be omitted for single element group.
30    The ``@`` can be omitted if cpus and lcores have the same value.
31
32.. Note::
33    At a given instance only one core option ``--lcores``, ``-l`` or ``-c`` can
34    be used.
35
36*   ``--main-lcore <core ID>``
37
38    Core ID that is used as main.
39
40*   ``-s <service core mask>``
41
42    Hexadecimal bitmask of cores to be used as service cores.
43
44Device-related options
45~~~~~~~~~~~~~~~~~~~~~~
46
47*   ``-b, --block <[domain:]bus:devid.func>``
48
49    Skip probing a PCI device to prevent EAL from using it.
50    Multiple -b options are allowed.
51
52.. Note::
53    Block list cannot be used with the allow list ``-a`` option.
54
55*   ``-a, --allow <[domain:]bus:devid.func>``
56
57    Add a PCI device in to the list of devices to probe.
58
59.. Note::
60    Allow list cannot be used with the block list ``-b`` option.
61
62*   ``--vdev <device arguments>``
63
64    Add a virtual device using the format::
65
66       <driver><id>[,key=val, ...]
67
68    For example::
69
70       --vdev 'net_pcap0,rx_pcap=input.pcap,tx_pcap=output.pcap'
71
72*   ``-d <path to shared object or directory>``
73
74    Load external drivers. An argument can be a single shared object file, or a
75    directory containing multiple driver shared objects. Multiple -d options are
76    allowed.
77
78*   ``--no-pci``
79
80    Disable PCI bus.
81
82Multiprocessing-related options
83~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
84
85*   ``--proc-type <primary|secondary|auto>``
86
87    Set the type of the current process.
88
89*   ``--base-virtaddr <address>``
90
91    Attempt to use a different starting address for all memory maps of the
92    primary DPDK process. This can be helpful if secondary processes cannot
93    start due to conflicts in address map.
94
95Memory-related options
96~~~~~~~~~~~~~~~~~~~~~~
97
98*   ``-n <number of channels>``
99
100    Set the number of memory channels to use.
101
102*   ``-r <number of ranks>``
103
104    Set the number of memory ranks (auto-detected by default).
105
106*   ``-m <megabytes>``
107
108    Amount of memory to preallocate at startup.
109
110*   ``--in-memory``
111
112    Do not create any shared data structures and run entirely in memory. Implies
113    ``--no-shconf`` and (if applicable) ``--huge-unlink``.
114
115*   ``--iova-mode <pa|va>``
116
117    Force IOVA mode to a specific value.
118
119*   ``--huge-worker-stack[=size]``
120
121    Allocate worker stack memory from hugepage memory. Stack size defaults
122    to system pthread stack size unless the optional size (in kbytes) is
123    specified.
124
125Debugging options
126~~~~~~~~~~~~~~~~~
127
128*   ``--no-shconf``
129
130    No shared files created (implies no secondary process support).
131
132*   ``--no-huge``
133
134    Use anonymous memory instead of hugepages (implies no secondary process
135    support).
136
137*   ``--log-level <type:val>``
138
139    Specify log level for a specific component. For example::
140
141        --log-level lib.eal:debug
142
143    Can be specified multiple times.
144
145*   ``--trace=<regex-match>``
146
147    Enable trace based on regular expression trace name. By default, the trace is
148    disabled. User must specify this option to enable trace.
149    For example:
150
151    Global trace configuration for EAL only::
152
153        --trace=eal
154
155    Global trace configuration for ALL the components::
156
157        --trace=.*
158
159    Can be specified multiple times up to 32 times.
160
161*   ``--trace-dir=<directory path>``
162
163    Specify trace directory for trace output. For example:
164
165    Configuring ``/tmp/`` as a trace output directory::
166
167        --trace-dir=/tmp
168
169    By default, trace output will created at ``home`` directory and parameter
170    must be specified once only.
171
172*   ``--trace-bufsz=<val>``
173
174    Specify maximum size of allocated memory for trace output for each thread.
175    Valid unit can be either ``B`` or ``K`` or ``M`` for ``Bytes``, ``KBytes``
176    and ``MBytes`` respectively. For example:
177
178    Configuring ``2MB`` as a maximum size for trace output file::
179
180        --trace-bufsz=2M
181
182    By default, size of trace output file is ``1MB`` and parameter
183    must be specified once only.
184
185*   ``--trace-mode=<o[verwrite] | d[iscard] >``
186
187    Specify the mode of update of trace output file. Either update on a file
188    can be wrapped or discarded when file size reaches its maximum limit.
189    For example:
190
191    To ``discard`` update on trace output file::
192
193        --trace-mode=d or --trace-mode=discard
194
195    Default mode is ``overwrite`` and parameter must be specified once only.
196
197Other options
198~~~~~~~~~~~~~
199
200*   ``-h``, ``--help``
201
202    Display help message listing all EAL parameters.
203
204*   ``-v``
205
206    Display the version information on startup.
207
208*   ``--mbuf-pool-ops-name``:
209
210    Pool ops name for mbuf to use.
211
212*    ``--telemetry``:
213
214    Enable telemetry (enabled by default).
215
216*    ``--no-telemetry``:
217
218    Disable telemetry.
219
220*    ``--force-max-simd-bitwidth=<val>``:
221
222    Specify the maximum SIMD bitwidth size to handle. This limits which vector paths,
223    if any, are taken, as any paths taken must use a bitwidth below the max bitwidth limit.
224    For example, to allow all SIMD bitwidths up to and including AVX-512::
225
226        --force-max-simd-bitwidth=512
227
228    The following example shows limiting the bitwidth to 64-bits to disable all vector code::
229
230        --force-max-simd-bitwidth=64
231
232    To disable use of max SIMD bitwidth limit::
233
234        --force-max-simd-bitwidth=0
235