On Mon, May 27, 2024 at 07:19:21PM +0300, Igor Gutorov wrote: > According to the Intel X710/XXV710/XL710 Datasheet, the maximum receive > queue descriptor length is 0x1FE0 (8160 in base 10). This is specified > as QLEN in table 8-12, page 1083. > > I've tested this change with an XXV710 NIC and it has positive effect on > performance under high load scenarios. Where previously I'd get > ~2000 packets/sec miss rate, now I get only ~40 packets/sec miss rate. > > Signed-off-by: Igor Gutorov <igooto...@gmail.com> > --- > drivers/net/i40e/i40e_rxtx.h | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/net/i40e/i40e_rxtx.h b/drivers/net/i40e/i40e_rxtx.h > index 2f2f890855..33fc9770d9 100644 > --- a/drivers/net/i40e/i40e_rxtx.h > +++ b/drivers/net/i40e/i40e_rxtx.h > @@ -25,7 +25,7 @@ > #define I40E_RX_MAX_DATA_BUF_SIZE (16 * 1024 - 128) > > #define I40E_MIN_RING_DESC 64 > -#define I40E_MAX_RING_DESC 4096 > +#define I40E_MAX_RING_DESC 8160 >
since the ring memory allocation in the driver always seems to allocate space for up to the max number of descriptors, this will lead to an increase of memory footprint of ~128k per Rx Q, and ~64k per Tx Q. However, I'd view this as relatively harmless given what we have now. If it is an issue, we should look to fix it in a separate patch, rather than blocking this simple change. Acked-by: Bruce Richardson <bruce.richard...@intel.com>