[dpdk-dev] [PATCH 0/3] New API to free consumed buffers in TX ring

Billy McFall bmcfall at redhat.com
Fri Dec 16 13:48:48 CET 2016


Based on a request from Damjan Marion and seconded by Keith Wiles, see
dpdk-dev mailling list from 11/21/2016, add a new API to free consumed
buffers on TX ring. This addresses two scenarios:
1) Flooding a packet and want to reuse existing mbuf to avoid a packet
copy. Increment the reference count of the packet and poll new API until
reference count is decremented.
2) Application runs out of mbufs so call API to free consumed packets so
processing can continue.

API will return the number of packets freed (0-n) or error code if
feature not supported (-ENOTSUP) or input invalid (-ENODEV).

API for e1000 igb driver and vHost driver have been implemented. Other
drivers can be implemented over time. Some drivers implement a TX done
flush routine that should be reused where possible. e1000 igb driver
and vHost driver do not have such functions.

Billy McFall (3):
  ethdev: New API to free consumed buffers in TX ring
  driver: e1000 igb support to free consumed buffers
  driver: vHost support to free consumed buffers

 drivers/net/e1000/e1000_ethdev.h  |   2 +
 drivers/net/e1000/igb_ethdev.c    |   1 +
 drivers/net/e1000/igb_rxtx.c      | 126 ++++++++++++++++++++++++++++++++++++++
 drivers/net/vhost/rte_eth_vhost.c |  11 ++++
 lib/librte_ether/rte_ethdev.h     |  56 +++++++++++++++++
 5 files changed, 196 insertions(+)

-- 
2.9.3



More information about the dev mailing list