Re: [PATCH net-next v2] net: lan966x: Improve the CPU TX bitrate.

From: Andrew Lunn
Date: Thu Mar 10 2022 - 09:53:22 EST


On Thu, Mar 10, 2022 at 09:40:05AM +0100, Horatiu Vultur wrote:
> When doing manual injection of the frame, it is required to check if the
> TX FIFO is ready to accept the next word of the frame. For this we are
> using 'readx_poll_timeout_atomic', the only problem is that before it
> actually checks the status, is determining the time when to finish polling
> the status. Which seems to be an expensive operation.
> Therefore check the status of the TX FIFO before calling
> 'readx_poll_timeout_atomic'.
> Doing this will improve the TX bitrate by ~70%. Because 99% the FIFO is
> ready by that time. The measurements were done using iperf3.
>
> Before:
> [ ID] Interval Transfer Bitrate Retr
> [ 5] 0.00-10.03 sec 55.2 MBytes 46.2 Mbits/sec 0 sender
> [ 5] 0.00-10.04 sec 53.8 MBytes 45.0 Mbits/sec receiver
>
> After:
> [ ID] Interval Transfer Bitrate Retr
> [ 5] 0.00-10.10 sec 95.0 MBytes 78.9 Mbits/sec 0 sender
> [ 5] 0.00-10.11 sec 95.0 MBytes 78.8 Mbits/sec receiver
>
> Signed-off-by: Horatiu Vultur <horatiu.vultur@xxxxxxxxxxxxx>

Reviewed-by: Andrew Lunn <andrew@xxxxxxx>

Andrew