xref: /dpdk/doc/guides/linux_gsg/eal_args.include.rst (revision 2490bb897182f57de80fd924dd3ae48dda819b8c)
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
119Debugging options
120~~~~~~~~~~~~~~~~~
121
122*   ``--no-shconf``
123
124    No shared files created (implies no secondary process support).
125
126*   ``--no-huge``
127
128    Use anonymous memory instead of hugepages (implies no secondary process
129    support).
130
131*   ``--log-level <type:val>``
132
133    Specify log level for a specific component. For example::
134
135        --log-level lib.eal:debug
136
137    Can be specified multiple times.
138
139*   ``--trace=<regex-match>``
140
141    Enable trace based on regular expression trace name. By default, the trace is
142    disabled. User must specify this option to enable trace.
143    For example:
144
145    Global trace configuration for EAL only::
146
147        --trace=eal
148
149    Global trace configuration for ALL the components::
150
151        --trace=.*
152
153    Can be specified multiple times up to 32 times.
154
155*   ``--trace-dir=<directory path>``
156
157    Specify trace directory for trace output. For example:
158
159    Configuring ``/tmp/`` as a trace output directory::
160
161        --trace-dir=/tmp
162
163    By default, trace output will created at ``home`` directory and parameter
164    must be specified once only.
165
166*   ``--trace-bufsz=<val>``
167
168    Specify maximum size of allocated memory for trace output for each thread.
169    Valid unit can be either ``B`` or ``K`` or ``M`` for ``Bytes``, ``KBytes``
170    and ``MBytes`` respectively. For example:
171
172    Configuring ``2MB`` as a maximum size for trace output file::
173
174        --trace-bufsz=2M
175
176    By default, size of trace output file is ``1MB`` and parameter
177    must be specified once only.
178
179*   ``--trace-mode=<o[verwrite] | d[iscard] >``
180
181    Specify the mode of update of trace output file. Either update on a file
182    can be wrapped or discarded when file size reaches its maximum limit.
183    For example:
184
185    To ``discard`` update on trace output file::
186
187        --trace-mode=d or --trace-mode=discard
188
189    Default mode is ``overwrite`` and parameter must be specified once only.
190
191Other options
192~~~~~~~~~~~~~
193
194*   ``-h``, ``--help``
195
196    Display help message listing all EAL parameters.
197
198*   ``-v``
199
200    Display the version information on startup.
201
202*   ``--mbuf-pool-ops-name``:
203
204    Pool ops name for mbuf to use.
205
206*    ``--telemetry``:
207
208    Enable telemetry (enabled by default).
209
210*    ``--no-telemetry``:
211
212    Disable telemetry.
213
214*    ``--force-max-simd-bitwidth=<val>``:
215
216    Specify the maximum SIMD bitwidth size to handle. This limits which vector paths,
217    if any, are taken, as any paths taken must use a bitwidth below the max bitwidth limit.
218    For example, to allow all SIMD bitwidths up to and including AVX-512::
219
220        --force-max-simd-bitwidth=512
221
222    The following example shows limiting the bitwidth to 64-bits to disable all vector code::
223
224        --force-max-simd-bitwidth=64
225
226    To disable use of max SIMD bitwidth limit::
227
228        --force-max-simd-bitwidth=0
229