DPDK patches and discussions
 help / color / mirror / Atom feed
* [PATCH] net/i40e: increase descriptor queue length to 8160
@ 2024-05-27 16:19 Igor Gutorov
  2024-06-03 10:41 ` Igor Gutorov
  2024-06-18 12:12 ` Bruce Richardson
  0 siblings, 2 replies; 5+ messages in thread
From: Igor Gutorov @ 2024-05-27 16:19 UTC (permalink / raw)
  To: Yuying.Zhang; +Cc: dev, Igor Gutorov

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 <igootorov@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
 
 #define I40E_FDIR_NUM_TX_DESC   (I40E_FDIR_PRG_PKT_CNT << 1)
 #define I40E_FDIR_NUM_RX_DESC   (I40E_FDIR_PRG_PKT_CNT << 1)
-- 
2.45.1


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] net/i40e: increase descriptor queue length to 8160
  2024-05-27 16:19 [PATCH] net/i40e: increase descriptor queue length to 8160 Igor Gutorov
@ 2024-06-03 10:41 ` Igor Gutorov
  2024-06-05 10:47   ` Igor Gutorov
  2024-06-18 12:12 ` Bruce Richardson
  1 sibling, 1 reply; 5+ messages in thread
From: Igor Gutorov @ 2024-06-03 10:41 UTC (permalink / raw)
  To: yuying.zhang; +Cc: dev, Igor Gutorov

On Mon, May 27, 2024 at 7:20 PM Igor Gutorov <igootorov@gmail.com> 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 <igootorov@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
>
>  #define I40E_FDIR_NUM_TX_DESC   (I40E_FDIR_PRG_PKT_CNT << 1)
>  #define I40E_FDIR_NUM_RX_DESC   (I40E_FDIR_PRG_PKT_CNT << 1)
> --
> 2.45.1
>

CC'ing to a different email (got an address rejected error, the
MAINTAINERS file might need an update).

Also, I've noticed that an X722 NIC is also supported by the i40e
driver, but it seems the datasheet isn't on Intel's website for that
NIC. Does anybody know if X722 has 4096 or 8160 usable descriptors? If
someone could test this patch against X722, that would be great.

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] net/i40e: increase descriptor queue length to 8160
  2024-06-03 10:41 ` Igor Gutorov
@ 2024-06-05 10:47   ` Igor Gutorov
  2024-06-06  9:18     ` Morten Brørup
  0 siblings, 1 reply; 5+ messages in thread
From: Igor Gutorov @ 2024-06-05 10:47 UTC (permalink / raw)
  To: yuying.zhang; +Cc: dev

On Mon, Jun 3, 2024 at 1:41 PM Igor Gutorov <igootorov@gmail.com> wrote:
>
> On Mon, May 27, 2024 at 7:20 PM Igor Gutorov <igootorov@gmail.com> 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 <igootorov@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
> >
> >  #define I40E_FDIR_NUM_TX_DESC   (I40E_FDIR_PRG_PKT_CNT << 1)
> >  #define I40E_FDIR_NUM_RX_DESC   (I40E_FDIR_PRG_PKT_CNT << 1)
> > --
> > 2.45.1
> >
>
> CC'ing to a different email (got an address rejected error, the
> MAINTAINERS file might need an update).
>
> Also, I've noticed that an X722 NIC is also supported by the i40e
> driver, but it seems the datasheet isn't on Intel's website for that
> NIC. Does anybody know if X722 has 4096 or 8160 usable descriptors? If
> someone could test this patch against X722, that would be great.

Apologies for pinging again. Who should I send my patch to? The
MAINTAINERS file shows Yuying Zhang as the maintainer of the net/i40e
driver and contains 2 emails, but both Yuying.Zhang@intel.com and
yuying.zhang@intel.com emails are non-existent (550 Address rejected).

^ permalink raw reply	[flat|nested] 5+ messages in thread

* RE: [PATCH] net/i40e: increase descriptor queue length to 8160
  2024-06-05 10:47   ` Igor Gutorov
@ 2024-06-06  9:18     ` Morten Brørup
  0 siblings, 0 replies; 5+ messages in thread
From: Morten Brørup @ 2024-06-06  9:18 UTC (permalink / raw)
  To: Igor Gutorov; +Cc: dev, John McNamara

> From: Igor Gutorov [mailto:igootorov@gmail.com]
> Sent: Wednesday, 5 June 2024 12.47
> 
> On Mon, Jun 3, 2024 at 1:41 PM Igor Gutorov <igootorov@gmail.com> wrote:
> >
> > On Mon, May 27, 2024 at 7:20 PM Igor Gutorov <igootorov@gmail.com> 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 <igootorov@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
> > >
> > >  #define I40E_FDIR_NUM_TX_DESC   (I40E_FDIR_PRG_PKT_CNT << 1)
> > >  #define I40E_FDIR_NUM_RX_DESC   (I40E_FDIR_PRG_PKT_CNT << 1)
> > > --
> > > 2.45.1
> > >
> >
> > CC'ing to a different email (got an address rejected error, the
> > MAINTAINERS file might need an update).
> >
> > Also, I've noticed that an X722 NIC is also supported by the i40e
> > driver, but it seems the datasheet isn't on Intel's website for that
> > NIC. Does anybody know if X722 has 4096 or 8160 usable descriptors?

It does.
Refer to table 38-419, page 3086 in the Intel C620 Chipset datasheet:
https://www.intel.com/content/dam/www/public/us/en/documents/datasheets/c620-series-chipset-datasheet.pdf

> > If
> > someone could test this patch against X722, that would be great.

I don't have one, so I cannot test it. But:
Acked-by: Morten Brørup <mb@smartsharesystems.com>

> 
> Apologies for pinging again. Who should I send my patch to? The
> MAINTAINERS file shows Yuying Zhang as the maintainer of the net/i40e
> driver and contains 2 emails, but both Yuying.Zhang@intel.com and
> yuying.zhang@intel.com emails are non-existent (550 Address rejected).

The i40e DPDK driver is currently without maintainers.
Sending the patch to the dev@dpdk.org mailing list suffices.


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] net/i40e: increase descriptor queue length to 8160
  2024-05-27 16:19 [PATCH] net/i40e: increase descriptor queue length to 8160 Igor Gutorov
  2024-06-03 10:41 ` Igor Gutorov
@ 2024-06-18 12:12 ` Bruce Richardson
  1 sibling, 0 replies; 5+ messages in thread
From: Bruce Richardson @ 2024-06-18 12:12 UTC (permalink / raw)
  To: Igor Gutorov; +Cc: dev

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 <igootorov@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.richardson@intel.com>

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2024-06-18 12:12 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-05-27 16:19 [PATCH] net/i40e: increase descriptor queue length to 8160 Igor Gutorov
2024-06-03 10:41 ` Igor Gutorov
2024-06-05 10:47   ` Igor Gutorov
2024-06-06  9:18     ` Morten Brørup
2024-06-18 12:12 ` Bruce Richardson

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).