[v9,0/2] mbuf: add bulk free function

Message ID 20191023101111.81742-1-mb@smartsharesystems.com (mailing list archive)


Morten Brørup Oct. 23, 2019, 10:11 a.m. UTC
  Add function for freeing a bulk of mbufs.

Add unit test for functions for allocating and freeing a bulk of mbufs.

Signed-off-by: Morten Brørup <mb@smartsharesystems.com>
Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
Reviewed-by: Andrew Rybchenko <arybchenko@solarflare.com>
Acked-by: Stephen Hemminger <stephen@networkplumber.org>
Acked-by: Olivier Matz <olivier.matz@6wind.com>


* Fix a typo in a description.
* In the unit test, make chain length a #define and add a few
* The unit test prints when allocating the mbuf pools for the bulk tests.
  Also print when freeing them.
* Add unit test, covering both bulk alloc and bulk free.
* Squash multiple modifications into one.
* Remove __rte_always_inline from static function.
  The compiler will inline anyway.
* Rename variables from "free" to "pending" for improved readability.
* Add prefix __ to rte_pktmbuf_free_seg_via_array().
* Add array size parameter to __rte_pktmbuf_free_seg_via_array().
  The compiler will optimize the parameter away anyway.
* Add description to __rte_pktmbuf_free_seg_via_array().
* Minor description updates.
* Mark as experimental by adding __rte_experimental.
* Add function to experimental section of map file.
* Fix source code formatting regarding pointer to pointer.
* Squash multiple modifications into one.
* Bugfix: Handle pakets with multiple segments.
* Add inline helper function, mainly for readability.
* Fix source code formatting regarding indentation.
* Function is not inline.
* Optimize to free multible mbufs belonging to the same mempool in
  bulk. Inspired by ixgbe_tx_free_bufs(), but allowing NULL pointers
  in the array, just like rte_pktmbuf_free() can take a NULL pointer.
* Use unsigned int instead of unsigned. Passes checkpatch, but
  mismatches the original coding style of the modified files.
* Fix a typo in the description headline: mempools is plural.

Morten Brørup (2):
  mbuf: add bulk free function
  mbuf: add unit test for bulk alloc/free functions

 app/test/test_mbuf.c                 | 179 +++++++++++++++++++++++++++
 lib/librte_mbuf/rte_mbuf.c           |  66 ++++++++++
 lib/librte_mbuf/rte_mbuf.h           |  15 +++
 lib/librte_mbuf/rte_mbuf_version.map |   1 +
 4 files changed, 261 insertions(+)