On Sun, Sep 24, 2023 at 8:19 PM Feifei Wang wrote: > > Add 'rte_eth_recycle_rx_queue_info_get' and 'rte_eth_recycle_mbufs' > APIs to recycle used mbufs from a transmit queue of an Ethernet device, > and move these mbufs into a mbuf ring for a receive queue of an Ethernet > device. This can bypass mempool 'put/get' operations hence saving CPU > cycles. > > For each recycling mbufs, the rte_eth_recycle_mbufs() function performs > the following operations: > - Copy used *rte_mbuf* buffer pointers from Tx mbuf ring into Rx mbuf > ring. > - Replenish the Rx descriptors with the recycling *rte_mbuf* mbufs freed > from the Tx mbuf ring. > > Suggested-by: Honnappa Nagarahalli > Suggested-by: Ruifeng Wang > Signed-off-by: Feifei Wang > Reviewed-by: Ruifeng Wang > Reviewed-by: Honnappa Nagarahalli > Acked-by: Morten Brørup > Acked-by: Konstantin Ananyev > Acked-by: Ferruh Yigit Acked-by: Ajit Khaparde > --- > doc/guides/rel_notes/release_23_11.rst | 15 +++ > lib/ethdev/ethdev_driver.h | 10 ++ > lib/ethdev/ethdev_private.c | 2 + > lib/ethdev/rte_ethdev.c | 22 +++ > lib/ethdev/rte_ethdev.h | 180 +++++++++++++++++++++++++ > lib/ethdev/rte_ethdev_core.h | 23 +++- > lib/ethdev/version.map | 3 + > 7 files changed, 249 insertions(+), 6 deletions(-) >