Hi Nikhil > -----Original Message----- > From: dev [mailto:dev-boun...@dpdk.org] On Behalf Of Nikhil Agarwal > Sent: Tuesday, December 12, 2017 12:05 PM > To: dev@dpdk.org > Cc: david.h...@intel.com; nikhil.agar...@nxp.com; > hemant.agra...@nxp.com; ferruh.yi...@intel.com > Subject: [dpdk-dev] [PATCH 1/3] ethdev: add max burst size to device info > > Currently, if the rte_eth_rx_burst() function returns a value less than > *nb_pkts*, the application will assume that no more packets are present. > > Some of the hw queue based hardware can only support smaller burst for RX > and TX and thus break the expectation of the rx_burst API. >
Doesn't such like devices PMDs should try to retrieve multiple HW burst to adjust the asked received packet number? > This patch adds support to provide the maximum burst size that can be > supported by a given PMD. The dev_info is being memset to '0' in > rte_ethdev library. The value of '0' indicates that any value for burst size > can > be supported i.e. no change for existing PMDs. > > The application can now use the lowest available max_burst_size value for > rte_eth_rx_burst. > If you are talking about performance, maybe the right field to expose is something like "perf_burst_size" or "preferred_burst_size". I also suggest to expose different fields for RX and for TX. Maybe the rte_eth_rx\tx_burst() descriptions should be updated. Thanks Matan. > Signed-off-by: Nikhil Agarwal <nikhil.agar...@linaro.org> > --- > lib/librte_ether/rte_ethdev.h | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/lib/librte_ether/rte_ethdev.h b/lib/librte_ether/rte_ethdev.h > index 341c2d6..3ab6f02 100644 > --- a/lib/librte_ether/rte_ethdev.h > +++ b/lib/librte_ether/rte_ethdev.h > @@ -1047,6 +1047,7 @@ struct rte_eth_dev_info { > /** Configured number of rx/tx queues */ > uint16_t nb_rx_queues; /**< Number of RX queues. */ > uint16_t nb_tx_queues; /**< Number of TX queues. */ > + uint16_t max_burst_size; /**< MAX burst size, 0 for no limit. */ > }; > > /** > -- > 2.7.4