> -----Original Message-----
> From: dev <[email protected]> On Behalf Of Wang, Haiyue
> Sent: Tuesday, September 28, 2021 8:19 PM
> To: Meunier, Julien <[email protected]>; [email protected]
> Cc: [email protected]; Richardson, Bruce <[email protected]>
> Subject: Re: [dpdk-dev] [PATCH v2] net/ixgbe: fix RxQ/TxQ release
> 
> > -----Original Message-----
> > From: Julien Meunier <[email protected]>
> > Sent: Tuesday, September 28, 2021 16:13
> > To: [email protected]
> > Cc: [email protected]; Richardson, Bruce <[email protected]>;
> > Wang, Haiyue <[email protected]>
> > Subject: [PATCH v2] net/ixgbe: fix RxQ/TxQ release
> >
> > On the vector implementation, during the tear-down, the mbufs not
> > drained in the RxQ and TxQ are freed based on an algorithm which
> > supposed that the number of descriptors is a power of 2 (max_desc).
> > Based on this hypothesis, this algorithm uses a bitmask in order to
> > detect an index overflow during the iteration, and to restart the loop
> > from 0.
> >
> > However, there is no such power of 2 requirement in the ixgbe for the
> > number of descriptors in the RxQ / TxQ. The only requirement is to
> > have a number correctly aligned.
> >
> > If a user requested to configure a number of descriptors which is not
> > a power of 2, as a consequence, during the tear-down, it was possible
> > to be in an infinite loop, and to never reach the exit loop condition.
> >
> > By removing the bitmask and changing the loop method, we can avoid
> > this issue, and allow the user to configure a RxQ / TxQ which is not a
> > power of 2.
> >
> > Fixes: c95584dc2b18 ("ixgbe: new vectorized functions for Rx/Tx")
> > Cc: [email protected]
> > Cc: [email protected]
> >
> > Signed-off-by: Julien Meunier <[email protected]>
> > ---
> >  drivers/net/ixgbe/ixgbe_rxtx_vec_common.h | 5 ++---
> >  1 file changed, 2 insertions(+), 3 deletions(-)
> >
> 
> Acked-by: Haiyue Wang <[email protected]>

Applied to dpdk-next-net-intel.

Thanks
Qi
> 
> > --
> > 2.17.1

Reply via email to