diff mbox series

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

Message ID 20211028150315.19270-1-yuiko.oshino@microchip.com (mailing list archive)
State Superseded
Delegated to: Netdev Maintainers
Headers show
Series [net] net: ethernet: microchip: lan743x: Increase rx ring size to improve rx performance | expand

Checks

Context Check Description
netdev/cover_letter success Single patches do not need cover letters
netdev/fixes_present success Fixes tag present in non-next series
netdev/patch_count success Link
netdev/tree_selection success Clearly marked for net
netdev/subject_prefix success Link
netdev/cc_maintainers warning 1 maintainers not CCed: kuba@kernel.org
netdev/source_inline success Was 0 now: 0
netdev/verify_signedoff success Signed-off-by tag matches author and committer
netdev/module_param success Was 0 now: 0
netdev/build_32bit success Errors and warnings before: 0 this patch: 0
netdev/kdoc success Errors and warnings before: 0 this patch: 0
netdev/verify_fixes success Fixes tag looks correct
netdev/checkpatch success total: 0 errors, 0 warnings, 0 checks, 8 lines checked
netdev/build_allmodconfig_warn success Errors and warnings before: 0 this patch: 0
netdev/header_inline success No static functions without inline keyword in header files

Commit Message

Yuiko Oshino Oct. 28, 2021, 3:03 p.m. UTC
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 <yuiko.oshino@microchip.com>
---
 drivers/net/ethernet/microchip/lan743x_main.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Jakub Kicinski Oct. 28, 2021, 3:13 p.m. UTC | #1
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 <yuiko.oshino@microchip.com>

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!
Yuiko Oshino Oct. 28, 2021, 3:17 p.m. UTC | #2
>-----Original Message-----
>From: Jakub Kicinski <kuba@kernel.org>
>Sent: Thursday, October 28, 2021 11:14 AM
>To: Yuiko Oshino - C18177 <Yuiko.Oshino@microchip.com>
>Cc: davem@davemloft.net; netdev@vger.kernel.org; Bryan Whitehead - C21958
><Bryan.Whitehead@microchip.com>; UNGLinuxDriver
><UNGLinuxDriver@microchip.com>
>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:
>> 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 <yuiko.oshino@microchip.com>
>
>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
Andrew Lunn Oct. 28, 2021, 4:03 p.m. UTC | #3
On Thu, Oct 28, 2021 at 11:03:15AM -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 <yuiko.oshino@microchip.com>
> ---
>  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
Yuiko Oshino Oct. 29, 2021, 12:57 p.m. UTC | #4
>-----Original Message-----
>From: Andrew Lunn <andrew@lunn.ch>
>Sent: Thursday, October 28, 2021 12:03 PM
>To: Yuiko Oshino - C18177 <Yuiko.Oshino@microchip.com>
>Cc: davem@davemloft.net; netdev@vger.kernel.org; Bryan Whitehead - C21958
><Bryan.Whitehead@microchip.com>; UNGLinuxDriver
><UNGLinuxDriver@microchip.com>
>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:
>> 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 <yuiko.oshino@microchip.com>
>> ---
>>  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?

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.
>
>> +#define LAN743X_RX_RING_SIZE        (128)
>
>129?
>
>        Andrew

Thank you!
Yuiko
diff mbox series

Patch

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)