[dpdk-dev] [PATCH v9 0/2] mbuf: add bulk free function

Morten Brørup mb at smartsharesystems.com
Wed Oct 23 12:11:09 CEST 2019


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 at smartsharesystems.com>
Acked-by: Konstantin Ananyev <konstantin.ananyev at intel.com>
Reviewed-by: Andrew Rybchenko <arybchenko at solarflare.com>
Acked-by: Stephen Hemminger <stephen at networkplumber.org>
Acked-by: Olivier Matz <olivier.matz at 6wind.com>

---

v9:
* Fix a typo in a description.
* In the unit test, make chain length a #define and add a few
  RTE_BUILD_BUG_ON().
* The unit test prints when allocating the mbuf pools for the bulk tests.
  Also print when freeing them.
v8:
* Add unit test, covering both bulk alloc and bulk free.
v7:
* Squash multiple modifications into one.
v6:
* Remove __rte_always_inline from static function.
  The compiler will inline anyway.
v5:
* 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.
v4:
* 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.
v3:
* Bugfix: Handle pakets with multiple segments.
* Add inline helper function, mainly for readability.
* Fix source code formatting regarding indentation.
v2:
* 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(+)

-- 
2.17.1



More information about the dev mailing list