The Linux Kernel Mailing List
 help / color / mirror / Atom feed
* Re: [PATCH 3/5] arm64: dts: renesas: r9a09g047: Switch GBETH TX queue scheduling to WRR
       [not found] ` <20260722085353.136986-4-ovidiu.panait.rb@renesas.com>
@ 2026-08-07 15:27   ` Tommaso Merciai
  0 siblings, 0 replies; only message in thread
From: Tommaso Merciai @ 2026-08-07 15:27 UTC (permalink / raw)
  To: Ovidiu Panait
  Cc: geert+renesas, magnus.damm, robh, krzk+dt, conor+dt,
	prabhakar.mahadev-lad.rj, biju.das.jz, linux-renesas-soc,
	devicetree, linux-kernel

On Wed, Jul 22, 2026 at 08:53:51AM +0000, Ovidiu Panait wrote:
> The GBETH ethernet nodes don't specify a TX scheduling policy, so stmmac
> falls back to Strict Priority. In this configuration the queue with the
> highest priority gets all the traffic, starving the others under load.
> 
> Under sustained UDP TX load with multiple data streams, this starvation
> triggers spurious adapter resets due to TX queue timeouts:
> 
>   iperf3 -c <ip> -i0 -t60 --bind-dev end0 -u -b0 -P4
>   end0: NETDEV WATCHDOG: CPU: 1: transmit queue 1 timed out 5228 ms
>   end0: Reset adapter.
> 
> Investigation shows that only the highest priority queue is advancing
> while the others stall for more than 5 seconds, causing a netdev watchdog
> reset.
> 
> Switch the TX scheduling policy to Weighted-Round-Robin (WRR) so that
> traffic is processed across all queues, eliminating the stalls.
>

Tested on RZ/G3E evk:

Tested-by: Tommaso Merciai <tommaso.merciai.xr@bp.renesas.com>

Kind Regards,
Tommaso

> Fixes: 41ffbb1c42d3 ("arm64: dts: renesas: r9a09g047: Add GBETH nodes")
> Signed-off-by: Ovidiu Panait <ovidiu.panait.rb@renesas.com>
> ---
>  arch/arm64/boot/dts/renesas/r9a09g047.dtsi | 10 ++++++++++
>  1 file changed, 10 insertions(+)
> 
> diff --git a/arch/arm64/boot/dts/renesas/r9a09g047.dtsi b/arch/arm64/boot/dts/renesas/r9a09g047.dtsi
> index 73757e8e2197..060405d4a2dd 100644
> --- a/arch/arm64/boot/dts/renesas/r9a09g047.dtsi
> +++ b/arch/arm64/boot/dts/renesas/r9a09g047.dtsi
> @@ -1913,23 +1913,28 @@ queue3 {
>  
>  			mtl_tx_setup0: tx-queues-config {
>  				snps,tx-queues-to-use = <4>;
> +				snps,tx-sched-wrr;
>  
>  				queue0 {
> +					snps,weight = <0x10>;
>  					snps,dcb-algorithm;
>  					snps,priority = <0x1>;
>  				};
>  
>  				queue1 {
> +					snps,weight = <0x12>;
>  					snps,dcb-algorithm;
>  					snps,priority = <0x2>;
>  				};
>  
>  				queue2 {
> +					snps,weight = <0x14>;
>  					snps,dcb-algorithm;
>  					snps,priority = <0x4>;
>  				};
>  
>  				queue3 {
> +					snps,weight = <0x18>;
>  					snps,dcb-algorithm;
>  					snps,priority = <0x8>;
>  				};
> @@ -2013,23 +2018,28 @@ queue3 {
>  
>  			mtl_tx_setup1: tx-queues-config {
>  				snps,tx-queues-to-use = <4>;
> +				snps,tx-sched-wrr;
>  
>  				queue0 {
> +					snps,weight = <0x10>;
>  					snps,dcb-algorithm;
>  					snps,priority = <0x1>;
>  				};
>  
>  				queue1 {
> +					snps,weight = <0x12>;
>  					snps,dcb-algorithm;
>  					snps,priority = <0x2>;
>  				};
>  
>  				queue2 {
> +					snps,weight = <0x14>;
>  					snps,dcb-algorithm;
>  					snps,priority = <0x4>;
>  				};
>  
>  				queue3 {
> +					snps,weight = <0x18>;
>  					snps,dcb-algorithm;
>  					snps,priority = <0x8>;
>  				};
> -- 
> 2.34.1
> 

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2026-08-07 15:27 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <20260722085353.136986-1-ovidiu.panait.rb@renesas.com>
     [not found] ` <20260722085353.136986-4-ovidiu.panait.rb@renesas.com>
2026-08-07 15:27   ` [PATCH 3/5] arm64: dts: renesas: r9a09g047: Switch GBETH TX queue scheduling to WRR Tommaso Merciai

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox