From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Yang, Zhiyong" Subject: Re: [PATCH v2 0/5] consistent PMD batching behaviour Date: Mon, 6 Mar 2017 02:13:37 +0000 Message-ID: References: <1487926101-4637-2-git-send-email-zhiyong.yang@intel.com> <1488539851-71009-1-git-send-email-zhiyong.yang@intel.com> <2601191342CEEE43887BDE71AB9772583FAC9B50@IRSMSX109.ger.corp.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Cc: "Richardson, Bruce" To: "Ananyev, Konstantin" , "dev@dpdk.org" Return-path: Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by dpdk.org (Postfix) with ESMTP id 30022108A for ; Mon, 6 Mar 2017 03:13:43 +0100 (CET) In-Reply-To: <2601191342CEEE43887BDE71AB9772583FAC9B50@IRSMSX109.ger.corp.intel.com> Content-Language: en-US List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" Thanks, Konstantin. --Zhiyong > -----Original Message----- > From: Ananyev, Konstantin > Sent: Sunday, March 5, 2017 9:03 PM > To: Yang, Zhiyong ; dev@dpdk.org > Cc: Richardson, Bruce > Subject: RE: [dpdk-dev] [PATCH v2 0/5] consistent PMD batching behaviour >=20 >=20 > > 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 inconsist= ent > 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(-) > > >=20 > Acked-by: Konstantin Ananyev >=20 > > -- > > 2.7.4