Re: [PATCH 3/5] arm64: dts: renesas: r9a09g047: Switch GBETH TX queue scheduling to WRR

Tommaso Merciai <[email protected]>
Newsgroups org.kernel.vger.linux-renesas-soc,org.kernel.vger.linux-devicetree,org.kernel.vger.linux-kernel
Message-ID <anX5UAtB_PtITkxq@tom-desktop>
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 <[email protected]>

Kind Regards,
Tommaso

> Fixes: 41ffbb1c42d3 ("arm64: dts: renesas: r9a09g047: Add GBETH nodes")
> Signed-off-by: Ovidiu Panait <[email protected]>
> ---
>  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
>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.