bitmap: remove deprecated 64-bit bsf function
[dpdk.git] / doc / guides / rel_notes / release_19_02.rst
1 ..  SPDX-License-Identifier: BSD-3-Clause
2     Copyright 2018 The DPDK contributors
3
4 DPDK Release 19.02
5 ==================
6
7 .. **Read this first.**
8
9    The text in the sections below explains how to update the release notes.
10
11    Use proper spelling, capitalization and punctuation in all sections.
12
13    Variable and config names should be quoted as fixed width text:
14    ``LIKE_THIS``.
15
16    Build the docs and view the output file to ensure the changes are correct::
17
18       make doc-guides-html
19
20       xdg-open build/doc/html/guides/rel_notes/release_19_02.html
21
22
23 New Features
24 ------------
25
26 .. This section should contain new features added in this release.
27    Sample format:
28
29    * **Add a title in the past tense with a full stop.**
30
31      Add a short 1-2 sentence description in the past tense.
32      The description should be enough to allow someone scanning
33      the release notes to understand the new feature.
34
35      If the feature adds a lot of sub-features you can use a bullet list
36      like this:
37
38      * Added feature foo to do something.
39      * Enhanced feature bar to do something else.
40
41      Refer to the previous release notes for examples.
42
43      Suggested order in release notes items:
44      * Core libs (EAL, mempool, ring, mbuf, buses)
45      * Device abstraction libs and PMDs
46        - ethdev (lib, PMDs)
47        - cryptodev (lib, PMDs)
48        - eventdev (lib, PMDs)
49        - etc
50      * Other libs
51      * Apps, Examples, Tools (if significant)
52
53      This section is a comment. Do not overwrite or remove it.
54      Also, make sure to start the actual text at the margin.
55      =========================================================
56
57 * **Added support to free hugepages exactly as originally allocated.**
58
59   Some applications using memory event callbacks (especially for managing
60   RDMA memory regions) require that memory be freed back to the system
61   exactly as it was originally allocated. These applications typically
62   also require that a malloc allocation not span across two separate
63   hugepage allocations.  A new ``--match-allocations`` EAL init flag has
64   been added to fulfill both of these requirements.
65
66 * **Added API to register external memory in DPDK.**
67
68   A new ``rte_extmem_register``/``rte_extmem_unregister`` API was added to allow
69   chunks of external memory to be registered with DPDK without adding them to
70   the malloc heap.
71
72 * **Support for using virtio-user without hugepages**
73
74   The --no-huge mode was augmented to use memfd-backed memory (on systems that
75   support memfd), to allow using virtio-user-based NICs without hugepages.
76
77 * **Updated the enic driver.**
78
79   * Added support for ``RTE_ETH_DEV_CLOSE_REMOVE`` flag.
80   * Added the handler to get firmware version string.
81   * Added support for multicast filtering.
82
83 * **Added a compression performance test tool.**
84
85   Added a new performance test tool to test the compressdev PMD. The tool tests
86   compression ratio and compression throughput.
87
88
89 Removed Items
90 -------------
91
92 .. This section should contain removed items in this release. Sample format:
93
94    * Add a short 1-2 sentence description of the removed item
95      in the past tense.
96
97    This section is a comment. Do not overwrite or remove it.
98    Also, make sure to start the actual text at the margin.
99    =========================================================
100
101
102 API Changes
103 -----------
104
105 .. This section should contain API changes. Sample format:
106
107    * sample: Add a short 1-2 sentence description of the API change
108      which was announced in the previous releases and made in this release.
109      Start with a scope label like "ethdev:".
110      Use fixed width quotes for ``function_names`` or ``struct_names``.
111      Use the past tense.
112
113    This section is a comment. Do not overwrite or remove it.
114    Also, make sure to start the actual text at the margin.
115    =========================================================
116
117 * eal: Function ``rte_bsf64`` in ``rte_bitmap.h`` has been renamed to
118   ``rte_bsf64_safe`` and moved to ``rte_common.h``.
119
120 * eal: Segment fd API on Linux now sets error code to ``ENOTSUP`` in more cases
121   where segment fd API is not expected to be supported:
122
123   - On attempt to get segment fd for an externally allocated memory segment
124   - In cases where memfd support would have been required to provide segment
125     fd's (such as in-memory or no-huge mode)
126
127 * pdump: The ``rte_pdump_set_socket_dir()``, the parameter ``path`` of
128   ``rte_pdump_init()`` and enum ``rte_pdump_socktype`` were deprecated
129   since 18.05 and are removed in this release.
130
131
132 ABI Changes
133 -----------
134
135 .. This section should contain ABI changes. Sample format:
136
137    * sample: Add a short 1-2 sentence description of the ABI change
138      which was announced in the previous releases and made in this release.
139      Start with a scope label like "ethdev:".
140      Use fixed width quotes for ``function_names`` or ``struct_names``.
141      Use the past tense.
142
143    This section is a comment. Do not overwrite or remove it.
144    Also, make sure to start the actual text at the margin.
145    =========================================================
146
147
148 Shared Library Versions
149 -----------------------
150
151 .. Update any library version updated in this release
152    and prepend with a ``+`` sign, like this:
153
154      libfoo.so.1
155    + libupdated.so.2
156      libbar.so.1
157
158    This section is a comment. Do not overwrite or remove it.
159    =========================================================
160
161 The libraries prepended with a plus sign were incremented in this version.
162
163 .. code-block:: diff
164
165      librte_acl.so.2
166      librte_bbdev.so.1
167      librte_bitratestats.so.2
168      librte_bpf.so.1
169      librte_bus_dpaa.so.2
170      librte_bus_fslmc.so.2
171      librte_bus_ifpga.so.2
172      librte_bus_pci.so.2
173      librte_bus_vdev.so.2
174      librte_bus_vmbus.so.2
175      librte_cfgfile.so.2
176      librte_cmdline.so.2
177      librte_compressdev.so.1
178      librte_cryptodev.so.5
179      librte_distributor.so.1
180      librte_eal.so.9
181      librte_efd.so.1
182      librte_ethdev.so.11
183      librte_eventdev.so.6
184      librte_flow_classify.so.1
185      librte_gro.so.1
186      librte_gso.so.1
187      librte_hash.so.2
188      librte_ip_frag.so.1
189      librte_jobstats.so.1
190      librte_kni.so.2
191      librte_kvargs.so.1
192      librte_latencystats.so.1
193      librte_lpm.so.2
194      librte_mbuf.so.4
195      librte_member.so.1
196      librte_mempool.so.5
197      librte_meter.so.2
198      librte_metrics.so.1
199      librte_net.so.1
200      librte_pci.so.1
201    + librte_pdump.so.3
202      librte_pipeline.so.3
203      librte_pmd_bnxt.so.2
204      librte_pmd_bond.so.2
205      librte_pmd_i40e.so.2
206      librte_pmd_ixgbe.so.2
207      librte_pmd_dpaa2_qdma.so.1
208      librte_pmd_ring.so.2
209      librte_pmd_softnic.so.1
210      librte_pmd_vhost.so.2
211      librte_port.so.3
212      librte_power.so.1
213      librte_rawdev.so.1
214      librte_reorder.so.1
215      librte_ring.so.2
216      librte_sched.so.1
217      librte_security.so.1
218      librte_table.so.3
219      librte_timer.so.1
220      librte_vhost.so.4
221
222
223 Known Issues
224 ------------
225
226 .. This section should contain new known issues in this release. Sample format:
227
228    * **Add title in present tense with full stop.**
229
230      Add a short 1-2 sentence description of the known issue
231      in the present tense. Add information on any known workarounds.
232
233    This section is a comment. Do not overwrite or remove it.
234    Also, make sure to start the actual text at the margin.
235    =========================================================
236
237
238 Tested Platforms
239 ----------------
240
241 .. This section should contain a list of platforms that were tested
242    with this release.
243
244    The format is:
245
246    * <vendor> platform with <vendor> <type of devices> combinations
247
248      * List of CPU
249      * List of OS
250      * List of devices
251      * Other relevant details...
252
253    This section is a comment. Do not overwrite or remove it.
254    Also, make sure to start the actual text at the margin.
255    =========================================================