numam-dpdk/doc/guides/rel_notes/release_16_04.rst
Huawei Xie 9ec201f5d6 mbuf: provide bulk allocation
rte_pktmbuf_alloc_bulk allocates a bulk of packet mbufs.

There is related thread about this bulk API.
http://dpdk.org/dev/patchwork/patch/4718/
Thanks to Konstantin's loop unrolling.

Attached the wiki page about duff's device. It explains the performance
optimization through loop unwinding, and also the most dramatic use of
case label fall-through.
https://en.wikipedia.org/wiki/Duff%27s_device

In this implementation, while() loop is used because we could not assume
count is strictly positive. Using while() loop saves one line of check.

Signed-off-by: Gerald Rogers <gerald.rogers@intel.com>
Signed-off-by: Huawei Xie <huawei.xie@intel.com>
Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
Acked-by: Olivier Matz <olivier.matz@6wind.com>
2016-02-29 17:26:38 +01:00

163 lines
4.0 KiB
ReStructuredText

DPDK Release 16.04
==================
**Read this first**
The text below explains how to update the release notes.
Use proper spelling, capitalization and punctuation in all sections.
Variable and config names should be quoted as fixed width text: ``LIKE_THIS``.
Build the docs and view the output file to ensure the changes are correct::
make doc-guides-html
firefox build/doc/html/guides/rel_notes/release_16_04.html
New Features
------------
This section should contain new features added in this release. Sample format:
* **Add a title in the past tense with a full stop.**
Add a short 1-2 sentence description in the past tense. The description
should be enough to allow someone scanning the release notes to understand
the new feature.
If the feature adds a lot of sub-features you can use a bullet list like this.
* Added feature foo to do something.
* Enhanced feature bar to do something else.
Refer to the previous release notes for examples.
* **Enabled bulk allocation of mbufs.**
A new function ``rte_pktmbuf_alloc_bulk()`` has been added to allow the user
to allocate a bulk of mbufs.
* **Virtio 1.0.**
Enabled virtio 1.0 support for virtio pmd driver.
* **Supported virtio offload in vhost-user.**
Add the offload and negotiation of checksum and TSO between vhost-user and
vanilla Linux virtio guest.
* **Added vhost-user live migration support.**
Resolved Issues
---------------
This section should contain bug fixes added to the relevant sections. Sample format:
* **code/section Fixed issue in the past tense with a full stop.**
Add a short 1-2 sentence description of the resolved issue in the past tense.
The title should contain the code/lib section like a commit message.
Add the entries in alphabetic order in the relevant sections below.
* **examples/vhost: Fixed frequent mbuf allocation failure.**
vhost-switch often fails to allocate mbuf when dequeue from vring because it
wrongly calculates the number of mbufs needed.
EAL
~~~
Drivers
~~~~~~~
* **aesni_mb: Fixed wrong return value when creating a device.**
cryptodev_aesni_mb_init() was returning the device id of the device created,
instead of 0 (when success), that rte_eal_vdev_init() expects.
This made impossible the creation of more than one aesni_mb device
from command line.
Libraries
~~~~~~~~~
Examples
~~~~~~~~
Other
~~~~~
Known Issues
------------
This section should contain new known issues in this release. Sample format:
* **Add title in present tense with full stop.**
Add a short 1-2 sentence description of the known issue in the present
tense. Add information on any known workarounds.
API Changes
-----------
This section should contain API changes. Sample format:
* Add a short 1-2 sentence description of the API change. Use fixed width
quotes for ``rte_function_names`` or ``rte_struct_names``. Use the past tense.
ABI Changes
-----------
* Add a short 1-2 sentence description of the ABI change that was announced in
the previous releases and made in this release. Use fixed width quotes for
``rte_function_names`` or ``rte_struct_names``. Use the past tense.
Shared Library Versions
-----------------------
Update any library version updated in this release and prepend with a ``+`` sign.
The libraries prepended with a plus sign were incremented in this version.
.. code-block:: diff
libethdev.so.2
librte_acl.so.2
librte_cfgfile.so.2
librte_cmdline.so.1
librte_distributor.so.1
librte_eal.so.2
librte_hash.so.2
librte_ip_frag.so.1
librte_ivshmem.so.1
librte_jobstats.so.1
librte_kni.so.2
librte_kvargs.so.1
librte_lpm.so.2
librte_mbuf.so.2
librte_mempool.so.1
librte_meter.so.1
librte_pipeline.so.2
librte_pmd_bond.so.1
librte_pmd_ring.so.2
librte_port.so.2
librte_power.so.1
librte_reorder.so.1
librte_ring.so.1
librte_sched.so.1
librte_table.so.2
librte_timer.so.1
librte_vhost.so.2