[PATCH net] net: ethernet: microchip: lan743x: Increase rx ring size to improve rx performance

Subsystems: microchip lan743x ethernet driver, networking drivers, the rest

STALE1754d

5 messages, 3 authors, 2021-10-29 · open the first message on its own page

[PATCH net] net: ethernet: microchip: lan743x: Increase rx ring size to improve rx performance

From: Yuiko Oshino <hidden>
Date: 2021-10-28 15:02:41

Increase the rx ring size (LAN743X_RX_RING_SIZE) to improve rx performance on some platforms.
Tested on x86 PC with EVB-LAN7430.
The iperf3.7 TCPIP improved from 881 Mbps to 922 Mbps, and UDP improved from 817 Mbps to 936 Mbps.

Fixes: 23f0703c125b ("lan743x: Add main source files for new lan743x driver")
Signed-off-by: Yuiko Oshino <redacted>
---
 drivers/net/ethernet/microchip/lan743x_main.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/net/ethernet/microchip/lan743x_main.h b/drivers/net/ethernet/microchip/lan743x_main.h
index 34c22eea0124..aaf7aaeaba0c 100644
--- a/drivers/net/ethernet/microchip/lan743x_main.h
+++ b/drivers/net/ethernet/microchip/lan743x_main.h
@@ -831,7 +831,7 @@ struct lan743x_rx_buffer_info {
 	unsigned int    buffer_length;
 };
 
-#define LAN743X_RX_RING_SIZE        (65)
+#define LAN743X_RX_RING_SIZE        (128)
 
 #define RX_PROCESS_RESULT_NOTHING_TO_DO     (0)
 #define RX_PROCESS_RESULT_BUFFER_RECEIVED   (1)
-- 
2.25.1

Re: [PATCH net] net: ethernet: microchip: lan743x: Increase rx ring size to improve rx performance

From: Jakub Kicinski <kuba@kernel.org>
Date: 2021-10-28 15:13:47

On Thu, 28 Oct 2021 11:03:15 -0400 Yuiko Oshino wrote:
Increase the rx ring size (LAN743X_RX_RING_SIZE) to improve rx performance on some platforms.
Tested on x86 PC with EVB-LAN7430.
The iperf3.7 TCPIP improved from 881 Mbps to 922 Mbps, and UDP improved from 817 Mbps to 936 Mbps.

Fixes: 23f0703c125b ("lan743x: Add main source files for new lan743x driver")
Signed-off-by: Yuiko Oshino <redacted>
You seem to be posting performance optimizations as fixes.
800Mbps is not "broken" for a 1G interface. Please remove 
the Fixes tag and re-post this with [PATCH net-next].

Thank you!

RE: [PATCH net] net: ethernet: microchip: lan743x: Increase rx ring size to improve rx performance

From: <hidden>
Date: 2021-10-28 15:17:08

-----Original Message-----
From: Jakub Kicinski <kuba@kernel.org>
Sent: Thursday, October 28, 2021 11:14 AM
To: Yuiko Oshino - C18177 <redacted>
Cc: davem@davemloft.net; netdev@vger.kernel.org; Bryan Whitehead - C21958
[off-list ref]; UNGLinuxDriver
[off-list ref]
Subject: Re: [PATCH net] net: ethernet: microchip: lan743x: Increase rx ring size
to improve rx performance

EXTERNAL EMAIL: Do not click links or open attachments unless you know the
content is safe

On Thu, 28 Oct 2021 11:03:15 -0400 Yuiko Oshino wrote:
quoted
Increase the rx ring size (LAN743X_RX_RING_SIZE) to improve rx performance
on some platforms.
quoted
Tested on x86 PC with EVB-LAN7430.
The iperf3.7 TCPIP improved from 881 Mbps to 922 Mbps, and UDP improved
from 817 Mbps to 936 Mbps.
quoted
Fixes: 23f0703c125b ("lan743x: Add main source files for new lan743x
driver")
Signed-off-by: Yuiko Oshino <redacted>
You seem to be posting performance optimizations as fixes.
800Mbps is not "broken" for a 1G interface. Please remove the Fixes tag and re-
post this with [PATCH net-next].

Thank you!
Hi Jakub,
no problem.
Thank you for your comment.
Yuiko

Re: [PATCH net] net: ethernet: microchip: lan743x: Increase rx ring size to improve rx performance

From: Andrew Lunn <andrew@lunn.ch>
Date: 2021-10-28 16:03:21

On Thu, Oct 28, 2021 at 11:03:15AM -0400, Yuiko Oshino wrote:
quoted hunk
Increase the rx ring size (LAN743X_RX_RING_SIZE) to improve rx performance on some platforms.
Tested on x86 PC with EVB-LAN7430.
The iperf3.7 TCPIP improved from 881 Mbps to 922 Mbps, and UDP improved from 817 Mbps to 936 Mbps.

Fixes: 23f0703c125b ("lan743x: Add main source files for new lan743x driver")
Signed-off-by: Yuiko Oshino <redacted>
---
 drivers/net/ethernet/microchip/lan743x_main.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/net/ethernet/microchip/lan743x_main.h b/drivers/net/ethernet/microchip/lan743x_main.h
index 34c22eea0124..aaf7aaeaba0c 100644
--- a/drivers/net/ethernet/microchip/lan743x_main.h
+++ b/drivers/net/ethernet/microchip/lan743x_main.h
@@ -831,7 +831,7 @@ struct lan743x_rx_buffer_info {
 	unsigned int    buffer_length;
 };
 
-#define LAN743X_RX_RING_SIZE        (65)
65 is interesting. 2^N + 1. So there might be a reason for this?
+#define LAN743X_RX_RING_SIZE        (128)
129?

	Andrew

RE: [PATCH net] net: ethernet: microchip: lan743x: Increase rx ring size to improve rx performance

From: <hidden>
Date: 2021-10-29 12:57:28

-----Original Message-----
From: Andrew Lunn <andrew@lunn.ch>
Sent: Thursday, October 28, 2021 12:03 PM
To: Yuiko Oshino - C18177 <redacted>
Cc: davem@davemloft.net; netdev@vger.kernel.org; Bryan Whitehead - C21958
[off-list ref]; UNGLinuxDriver
[off-list ref]
Subject: Re: [PATCH net] net: ethernet: microchip: lan743x: Increase rx ring size
to improve rx performance

EXTERNAL EMAIL: Do not click links or open attachments unless you know the
content is safe

On Thu, Oct 28, 2021 at 11:03:15AM -0400, Yuiko Oshino wrote:
quoted
Increase the rx ring size (LAN743X_RX_RING_SIZE) to improve rx performance
on some platforms.
quoted
Tested on x86 PC with EVB-LAN7430.
The iperf3.7 TCPIP improved from 881 Mbps to 922 Mbps, and UDP improved
from 817 Mbps to 936 Mbps.
quoted
Fixes: 23f0703c125b ("lan743x: Add main source files for new lan743x driver")
Signed-off-by: Yuiko Oshino <redacted>
---
 drivers/net/ethernet/microchip/lan743x_main.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/net/ethernet/microchip/lan743x_main.h
b/drivers/net/ethernet/microchip/lan743x_main.h
quoted
index 34c22eea0124..aaf7aaeaba0c 100644
--- a/drivers/net/ethernet/microchip/lan743x_main.h
+++ b/drivers/net/ethernet/microchip/lan743x_main.h
@@ -831,7 +831,7 @@ struct lan743x_rx_buffer_info {
      unsigned int    buffer_length;
 };

-#define LAN743X_RX_RING_SIZE        (65)
65 is interesting. 2^N + 1. So there might be a reason for this?
The original developer wanted to give the hardware a power of 2 usable (which is the ring size -1) number of descriptors, but that is not required by the hardware so for this update we decided to take it back to "rounder" power of 2 memory request from the OS.
quoted
+#define LAN743X_RX_RING_SIZE        (128)
129?

       Andrew
Thank you!
Yuiko
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help