mbox series

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

Message ID 20191011121458.56388-1-mb@smartsharesystems.com (mailing list archive)
Headers
Series mbuf: add bulk free function |

Message

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

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

---

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                 | 171 +++++++++++++++++++++++++++
 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, 253 insertions(+)