[dpdk-dev] [PATCH v2 0/5] consistent PMD batching behaviour
Ananyev, Konstantin
konstantin.ananyev at intel.com
Sun Mar 5 14:02:30 CET 2017
> 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