[dpdk-dev] [PATCH v2 0/5] consistent PMD batching behaviour

Yang, Zhiyong zhiyong.yang at intel.com
Mon Mar 6 03:13:37 CET 2017


Thanks, Konstantin.

--Zhiyong

> -----Original Message-----
> From: Ananyev, Konstantin
> Sent: Sunday, March 5, 2017 9:03 PM
> To: Yang, Zhiyong <zhiyong.yang at intel.com>; dev at dpdk.org
> Cc: Richardson, Bruce <bruce.richardson at intel.com>
> Subject: RE: [dpdk-dev] [PATCH v2 0/5] consistent PMD batching behaviour
> 
> 
> > The rte_eth_tx_burst() function in the file Rte_ethdev.h is invoked to
> > transmit output packets on the output queue for DPDK applications as
> > follows.
> >
> > static inline uint16_t
> > rte_eth_tx_burst(uint8_t port_id, uint16_t queue_id,
> >                  struct rte_mbuf **tx_pkts, uint16_t nb_pkts);
> >
> > Note: The fourth parameter nb_pkts: The number of packets to transmit.
> >
> > The rte_eth_tx_burst() function returns the number of packets it
> > actually sent. Most of PMD drivers can support the policy "send as
> > many packets to transmit as possible" at the PMD level. but the few of
> > PMDs have some sort of artificial limits for the pkts sent
> > successfully. For example, VHOST tx burst size is limited to 32
> > packets. Some rx_burst functions have the similar problem. The main
> > benefit is consistent batching behavior for user to simplify their
> > logic and avoid misusage at the application level, there is unified
> > rte_eth_tx/rx_burst interface already, there is no reason for inconsistent
> behaviors.
> > This patchset fixes it via adding wrapper function at the PMD level.
> >
> > Changes in V2:
> > 1. rename ixgbe, i40e and fm10k vec function XXX_xmit_pkts_vec to new
> > name XXX_xmit_fixed_burst_vec, new wrapper functions use original
> name
> > XXX_xmit_pkts_vec according to Bruce's suggestion.
> >
> > 2. simplify the code to avoid the if or if/else.
> >
> > Zhiyong Yang (5):
> >   net/fm10k: remove limit of fm10k_xmit_pkts_vec burst size
> >   net/i40e: remove limit of i40e_xmit_pkts_vec burst size
> >   net/ixgbe: remove limit of ixgbe_xmit_pkts_vec burst size
> >   net/vhost: remove limit of vhost TX burst size
> >   net/vhost: remove limit of vhost RX burst size
> >
> >  drivers/net/fm10k/fm10k.h               |  4 ++--
> >  drivers/net/fm10k/fm10k_ethdev.c        | 28
> ++++++++++++++++++++++++---
> >  drivers/net/fm10k/fm10k_rxtx_vec.c      |  4 ++--
> >  drivers/net/i40e/i40e_rxtx.c            | 28 ++++++++++++++++++++++++---
> >  drivers/net/i40e/i40e_rxtx.h            |  4 ++--
> >  drivers/net/i40e/i40e_rxtx_vec_neon.c   |  4 ++--
> >  drivers/net/i40e/i40e_rxtx_vec_sse.c    |  4 ++--
> >  drivers/net/ixgbe/ixgbe_rxtx.c          | 29
> ++++++++++++++++++++++++++++
> >  drivers/net/ixgbe/ixgbe_rxtx.h          |  4 ++--
> >  drivers/net/ixgbe/ixgbe_rxtx_vec_neon.c |  4 ++--
> > drivers/net/ixgbe/ixgbe_rxtx_vec_sse.c  |  4 ++--
> >  drivers/net/vhost/rte_eth_vhost.c       | 34
> +++++++++++++++++++++++++++++----
> >  12 files changed, 125 insertions(+), 26 deletions(-)
> >
> 
> Acked-by: Konstantin Ananyev <konstantin.ananyev at intel.com>
> 
> > --
> > 2.7.4



More information about the dev mailing list