doc: add notes on service cores API updates
[dpdk.git] / doc / guides / rel_notes / release_17_11.rst
1 DPDK Release 17.11
2 ==================
3
4 .. **Read this first.**
5
6    The text in the sections below explains how to update the release notes.
7
8    Use proper spelling, capitalization and punctuation in all sections.
9
10    Variable and config names should be quoted as fixed width text:
11    ``LIKE_THIS``.
12
13    Build the docs and view the output file to ensure the changes are correct::
14
15       make doc-guides-html
16
17       xdg-open build/doc/html/guides/rel_notes/release_17_11.html
18
19
20 New Features
21 ------------
22
23 .. This section should contain new features added in this release. Sample
24    format:
25
26    * **Add a title in the past tense with a full stop.**
27
28      Add a short 1-2 sentence description in the past tense. The description
29      should be enough to allow someone scanning the release notes to
30      understand the new feature.
31
32      If the feature adds a lot of sub-features you can use a bullet list like
33      this:
34
35      * Added feature foo to do something.
36      * Enhanced feature bar to do something else.
37
38      Refer to the previous release notes for examples.
39
40      This section is a comment. do not overwrite or remove it.
41      Also, make sure to start the actual text at the margin.
42      =========================================================
43
44
45 Resolved Issues
46 ---------------
47
48 .. This section should contain bug fixes added to the relevant
49    sections. Sample format:
50
51    * **code/section Fixed issue in the past tense with a full stop.**
52
53      Add a short 1-2 sentence description of the resolved issue in the past
54      tense.
55
56      The title should contain the code/lib section like a commit message.
57
58      Add the entries in alphabetic order in the relevant sections below.
59
60    This section is a comment. do not overwrite or remove it.
61    Also, make sure to start the actual text at the margin.
62    =========================================================
63
64
65 EAL
66 ~~~
67
68 * **Service core fails to call service callback due to atomic lock**
69
70   In a specific configuration of multi-thread unsafe services and service
71   cores, a service core previously did not correctly release the atomic lock
72   on the service. This would result in the cores polling the service, but it
73   looked like another thread was executing the service callback. The logic for
74   atomic locking of the services has been fixed and refactored for readability.
75
76 Drivers
77 ~~~~~~~
78
79
80 Libraries
81 ~~~~~~~~~
82
83
84 Examples
85 ~~~~~~~~
86
87
88 Other
89 ~~~~~
90
91
92 Known Issues
93 ------------
94
95 .. This section should contain new known issues in this release. Sample format:
96
97    * **Add title in present tense with full stop.**
98
99      Add a short 1-2 sentence description of the known issue in the present
100      tense. Add information on any known workarounds.
101
102    This section is a comment. do not overwrite or remove it.
103    Also, make sure to start the actual text at the margin.
104    =========================================================
105
106
107 API Changes
108 -----------
109
110 .. This section should contain API changes. Sample format:
111
112    * Add a short 1-2 sentence description of the API change. Use fixed width
113      quotes for ``rte_function_names`` or ``rte_struct_names``. Use the past
114      tense.
115
116    This section is a comment. do not overwrite or remove it.
117    Also, make sure to start the actual text at the margin.
118    =========================================================
119
120 * **Service cores API updated for usability**
121
122   The service cores API has been changed, removing pointers from the API
123   where possible, instead using integer IDs to identify each service. This
124   simplifed application code, aids debugging, and provides better
125   encapsulation. A summary of the main changes made is as follows:
126
127   * Services identified by ID not by ``rte_service_spec`` pointer
128   * Reduced API surface by using ``set`` functions instead of enable/disable
129   * Reworked ``rte_service_register`` to provide the service ID to registrar
130   * Rework start and stop APIs into ``rte_service_runstate_set``
131   * Added API to set runstate of service implementation to indicate readyness
132
133
134 ABI Changes
135 -----------
136
137 .. This section should contain ABI changes. Sample format:
138
139    * Add a short 1-2 sentence description of the ABI change that was announced
140      in the previous releases and made in this release. Use fixed width quotes
141      for ``rte_function_names`` or ``rte_struct_names``. 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
149 Shared Library Versions
150 -----------------------
151
152 .. Update any library version updated in this release and prepend with a ``+``
153    sign, like this:
154
155      librte_acl.so.2
156    + librte_cfgfile.so.2
157      librte_cmdline.so.2
158
159    This section is a comment. do not overwrite or remove it.
160    =========================================================
161
162
163 The libraries prepended with a plus sign were incremented in this version.
164
165 .. code-block:: diff
166
167      librte_acl.so.2
168      librte_bitratestats.so.1
169      librte_cfgfile.so.2
170      librte_cmdline.so.2
171      librte_cryptodev.so.3
172      librte_distributor.so.1
173      librte_eal.so.5
174      librte_ethdev.so.7
175      librte_eventdev.so.2
176      librte_gro.so.1
177      librte_hash.so.2
178      librte_ip_frag.so.1
179      librte_jobstats.so.1
180      librte_kni.so.2
181      librte_kvargs.so.1
182      librte_latencystats.so.1
183      librte_lpm.so.2
184      librte_mbuf.so.3
185      librte_mempool.so.2
186      librte_meter.so.1
187      librte_metrics.so.1
188      librte_net.so.1
189      librte_pdump.so.1
190      librte_pipeline.so.3
191      librte_pmd_bond.so.1
192      librte_pmd_ring.so.2
193      librte_port.so.3
194      librte_power.so.1
195      librte_reorder.so.1
196      librte_ring.so.1
197      librte_sched.so.1
198      librte_table.so.2
199      librte_timer.so.1
200      librte_vhost.so.3
201
202
203 Tested Platforms
204 ----------------
205
206 .. This section should contain a list of platforms that were tested with this
207    release.
208
209    The format is:
210
211    * <vendor> platform with <vendor> <type of devices> combinations
212
213      * List of CPU
214      * List of OS
215      * List of devices
216      * Other relevant details...
217
218    This section is a comment. do not overwrite or remove it.
219    Also, make sure to start the actual text at the margin.
220    =========================================================