[PATCH] net/intel: improve Rx descriptor ring size checks
Morten Brørup
mb at smartsharesystems.com
Mon Dec 15 19:53:27 CET 2025
> From: Bruce Richardson [mailto:bruce.richardson at intel.com]
> Sent: Monday, 15 December 2025 19.21
>
> On Mon, Dec 15, 2025 at 05:58:33PM +0000, Bruce Richardson wrote:
> > On Mon, Dec 15, 2025 at 06:54:50PM +0100, Morten Brørup wrote:
> > > > From: Bruce Richardson [mailto:bruce.richardson at intel.com]
> > > > Sent: Monday, 15 December 2025 18.36
> > > >
> > > > The default Rx ring size checks did not account for the fact that
> the
> > > > port would not work correctly if the Rx ring size was only twice
> the
> > > > free threshold size or less, so add in a new check for this. This
> would
> > > > generally only apply in cases where very small rings sizes are
> being
> > > > used, for example, with default Rx free thresh of 32, only ring
> size of
> > > > 64 would cause issues.
> > > >
> > > > Signed-off-by: Bruce Richardson <bruce.richardson at intel.com>
> > > > ---
> > >
> > > Does dev_info.rx_desc_lim.nb_min returned by rte_eth_dev_info_get()
> need correction too?
> > >
> > The minimum number of descriptors stays the same, however, if
> choosing the
> > minimum number of descriptors you may need to reduce the
> rx_free_thresh
> > value.
> >
> However, I think you raise a good point. I'll see about adding a
> specific
> error message in case the user is using the default threshold and
> setting
> the min ring size.
The applications need some generic code sequence that always works, on all NICs.
E.g. if an application uses rte_eth_dev_adjust_nb_rx_tx_desc() to move a requested crazy number of descriptors within bounds, and uses the default values for all other parameters, it should work.
Nonetheless, more detailed error messages are always helpful. :-)
-Morten
More information about the dev
mailing list