> -----Original Message-----
> From: dev [mailto:dev-boun...@dpdk.org] On Behalf Of Matan Azrad
> Sent: Tuesday, December 12, 2017 10:46 AM
> To: Nikhil Agarwal <nikhil.agar...@linaro.org>; dev@dpdk.org
> Cc: Hunt, David <david.h...@intel.com>; nikhil.agar...@nxp.com; 
> hemant.agra...@nxp.com; Yigit, Ferruh <ferruh.yi...@intel.com>
> Subject: Re: [dpdk-dev] [PATCH 1/3] ethdev: add max burst size to device info
> 
> 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?

Same thought here...
Can't that limitation be hidden inside PMD by calling HW burst multiple times? 
Also if I am not mistaken - it would increase size of struct rte_eth_dev_info, 
right?
If so, then it means ABI breakage.
Konstantin

> 
> > 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

Reply via email to