All of lore.kernel.org
 help / color / mirror / Atom feed
* NETDEV WATCHDOG: eth0 (dwc-eth-dwmac): transmit queue 1 timed out
@ 2017-11-16  4:11 Bhadram Varka
  2017-11-20  6:38 ` Bhadram Varka
  0 siblings, 1 reply; 9+ messages in thread
From: Bhadram Varka @ 2017-11-16  4:11 UTC (permalink / raw)
  To: linux-netdev

Hi,

I am trying to enable multi-queue in Tegra186 EQOS (which has support for 4 channels). Observed below netdev watchdog warning. Its easily reproable with iperf test. 
In normal ping scenario this is not observed. I did not observe any issue if we disable TSO. Looks like issue in stmmac_tso_xmit() in multi-channel scenario.

[   88.801672] NETDEV WATCHDOG: eth0 (dwc-eth-dwmac): transmit queue 0 timed out
[   88.808818] ------------[ cut here ]------------
[   88.813435] WARNING: CPU: 5 PID: 0 at net/sched/sch_generic.c:320 dev_watchdog+0x2cc/0x2d8
[   88.821681] Modules linked in: dwmac_dwc_qos_eth stmmac_platform crc32_ce crct10dif_ce stmmac ip_tables x_tables ipv6
[   88.832290] CPU: 5 PID: 0 Comm: swapper/5 Tainted: G S              4.14.0-rc7-01956-g9395db5-dirty #21
[   88.841663] Hardware name: NVIDIA Tegra186 P2771-0000 Development Board (DT)
[   88.848697] task: ffff8001ec8fd400 task.stack: ffff000009e38000
[   88.854606] PC is at dev_watchdog+0x2cc/0x2d8
[   88.858952] LR is at dev_watchdog+0x2cc/0x2d8
[   88.863300] pc : [<ffff00000894a76c>] lr : [<ffff00000894a76c>] pstate: 20000145
[   88.870678] sp : ffff00000802bd80
[   88.873983] x29: ffff00000802bd80 x28: 00000000000000a0
[   88.879287] x27: 00000000ffffffff x26: ffff8001eae2c3b0
[   88.884589] x25: 0000000000000005 x24: ffff8001ecb6be80
[   88.889891] x23: ffff8001eae2c39c x22: ffff8001eae2bfb0
[   88.895192] x21: ffff8001eae2c000 x20: ffff000008fe7000
[   88.900493] x19: 0000000000000001 x18: 0000000000000010
[   88.905795] x17: 0000000000000000 x16: 0000000000000000
[   88.911098] x15: ffffffffffffffff x14: 756f2064656d6974
[   88.916399] x13: 2031206575657571 x12: ffff000008fe9df0
[   88.921699] x11: ffff000008586180 x10: 642d6874652d6377
[   88.927000] x9 : 0000000000000016 x8 : 3a474f4448435441
[   88.932301] x7 : 572056454454454e x6 : 000000000000014f
[   88.937602] x5 : 0000000000000020 x4 : 0000000000000000
[   88.942902] x3 : 0000000000000000 x2 : ffff000008fec4c0
[   88.948203] x1 : ffff8001ec8fd400 x0 : 0000000000000041
[   88.953504] Call trace:
[   88.955944] Exception stack(0xffff00000802bc40 to 0xffff00000802bd80)
[   88.962371] bc40: 0000000000000041 ffff8001ec8fd400 ffff000008fec4c0 0000000000000000
[   88.970184] bc60: 0000000000000000 0000000000000020 000000000000014f 572056454454454e
[   88.977998] bc80: 3a474f4448435441 0000000000000016 642d6874652d6377 ffff000008586180
[   88.985811] bca0: ffff000008fe9df0 2031206575657571 756f2064656d6974 ffffffffffffffff
[   88.993624] bcc0: 0000000000000000 0000000000000000 0000000000000010 0000000000000001
[   89.001439] bce0: ffff000008fe7000 ffff8001eae2c000 ffff8001eae2bfb0 ffff8001eae2c39c
[   89.009252] bd00: ffff8001ecb6be80 0000000000000005 ffff8001eae2c3b0 00000000ffffffff
[   89.017065] bd20: 00000000000000a0 ffff00000802bd80 ffff00000894a76c ffff00000802bd80
[   89.024879] bd40: ffff00000894a76c 0000000020000145 ffff000000b67570 0000000000000001
[   89.032693] bd60: 0001000000000000 ffff8001ecb6b200 ffff00000802bd80 ffff00000894a76c
[   89.040508] [<ffff00000894a76c>] dev_watchdog+0x2cc/0x2d8
[   89.045900] [<ffff000008130d1c>] call_timer_fn.isra.5+0x24/0x80
[   89.051809] [<ffff000008130e1c>] expire_timers+0xa4/0xb0
[   89.057111] [<ffff000008130f68>] run_timer_softirq+0x140/0x170
[   89.062933] [<ffff00000808196c>] __do_softirq+0x12c/0x228
[   89.068323] [<ffff0000080ce180>] irq_exit+0xd0/0x108
[   89.073278] [<ffff00000811a180>] __handle_domain_irq+0x60/0xb8
[   89.079098] [<ffff000008081670>] gic_handle_irq+0x58/0xa8
[   89.084484] Exception stack(0xffff000009e3be20 to 0xffff000009e3bf60)
[   89.090910] be20: 0000000000000000 0000000000000000 0000000000000001 0000000000000000
[   89.098724] be40: 0000000000000000 ffff000009e3bf60 00008001ecffd000 0000000000000001
[   89.106537] be60: 0000000000000002 ffff000009e3bee0 0000000000000a00 0000000000000000
[   89.114351] be80: 0000000000000001 0000000000000000 001c3dfbd9959589 00001daf5b7a4860
[   89.122164] bea0: ffff00000825b000 0000000000000000 0000ffffc0311284 ffff000008fc5000
[   89.129978] bec0: ffff000008fe9000 ffff000008fe9000 ffff000008fd04a0 ffff000008fe9e90
[   89.137792] bee0: 0000000000000000 0000000000000000 ffff8001ec8fd400 0000000000000000
[   89.145605] bf00: 0000000000000000 ffff000009e3bf60 ffff00000808548c ffff000009e3bf60
[   89.153418] bf20: ffff000008085490 0000000000000145 0000000000000000 0000000000000000
[   89.161231] bf40: ffffffffffffffff ffff0000081409c4 ffff000009e3bf60 ffff000008085490
[   89.169044] [<ffff0000080830f0>] el1_irq+0xb0/0x124
[   89.173912] [<ffff000008085490>] arch_cpu_idle+0x10/0x18
[   89.179213] [<ffff000008105f10>] do_idle+0x120/0x1e0
[   89.184166] [<ffff00000810616c>] cpu_startup_entry+0x24/0x28
[   89.189814] [<ffff00000808f1c8>] secondary_start_kernel+0x110/0x120
[   89.196067] ---[ end trace 039d403d63546b77 ]---
 
Below are the DT changes -

diff --git a/arch/arm64/boot/dts/nvidia/tegra186.dtsi b/arch/arm64/boot/dts/nvidia/tegra186.dtsi
index 0b0552c..ffe1b80 100644
--- a/arch/arm64/boot/dts/nvidia/tegra186.dtsi
+++ b/arch/arm64/boot/dts/nvidia/tegra186.dtsi
@@ -27,21 +27,40 @@
                #gpio-cells = <2>;
                gpio-controller;
        };
+
+       mtl_tx_setup: tx-queues-config {
+               snps,tx-queues-to-use = <0x4>;
+               snps,tx-sched-sp;
+               queue0 {
+                       snps,weight = <0x10>;
+                       snps,dcb-algorithm;
+                       snps,priority = <0x0>;
+               };
+               queue1 {
+                       snps,avb-algorithm;
+                       snps,send_slope = <0x1000>;
+                       snps,idle_slope = <0x1000>;
+                       snps,high_credit = <0x3E800>;
+                       snps,low_credit = <0xFFC18000>;
+                       snps,priority = <0x1>;
+               };
+       };
+
+       mtl_rx_setup: rx-queues-config {
+               snps,rx-queues-to-use = <0x4>;
+               snps,rx-sched-sp;
+               queue0 {
+                       snps,dcb-algorithm;
+                       snps,map-to-dma-channel = <0x0>;
+                       snps,priority = <0x0>;
+               };
+       };
       ethernet@2490000 {
                compatible = "nvidia,tegra186-eqos",
                             "snps,dwc-qos-ethernet-4.10";
                reg = <0x0 0x02490000 0x0 0x10000>;
@@ -57,6 +76,10 @@
                snps,burst-map = <0x7>;
                snps,txpbl = <32>;
                snps,rxpbl = <8>;
+
+               snps,mtl-tx-config = <&mtl_tx_setup>;
+               snps,mtl-rx-config = <&mtl_rx_setup>;


Thanks,
Bhadram.
-----------------------------------------------------------------------------------
This email message is for the sole use of the intended recipient(s) and may contain
confidential information.  Any unauthorized review, use, disclosure or distribution
is prohibited.  If you are not the intended recipient, please contact the sender by
reply email and destroy all copies of the original message.
-----------------------------------------------------------------------------------

^ permalink raw reply related	[flat|nested] 9+ messages in thread

* RE: NETDEV WATCHDOG: eth0 (dwc-eth-dwmac): transmit queue 1 timed out
  2017-11-16  4:11 NETDEV WATCHDOG: eth0 (dwc-eth-dwmac): transmit queue 1 timed out Bhadram Varka
@ 2017-11-20  6:38 ` Bhadram Varka
  2017-11-20 13:06   ` Giuseppe CAVALLARO
  2017-12-01 15:34   ` Lars P (Mailing List Account)
  0 siblings, 2 replies; 9+ messages in thread
From: Bhadram Varka @ 2017-11-20  6:38 UTC (permalink / raw)
  To: Joao.Pinto, peppe.cavallaro; +Cc: linux-netdev

Hi Joao/Peppe,

Observed this issue more frequently with multi-channel case. Am I missing something in DT ?
Please help here to understand the issue.

Thanks,
Bhadram

-----Original Message-----
From: Bhadram Varka 
Sent: Thursday, November 16, 2017 9:41 AM
To: linux-netdev <netdev@vger.kernel.org>
Subject: NETDEV WATCHDOG: eth0 (dwc-eth-dwmac): transmit queue 1 timed out

Hi,

I am trying to enable multi-queue in Tegra186 EQOS (which has support for 4 channels). Observed below netdev watchdog warning. Its easily reproable with iperf test. 
In normal ping scenario this is not observed. I did not observe any issue if we disable TSO. Looks like issue in stmmac_tso_xmit() in multi-channel scenario.

[   88.801672] NETDEV WATCHDOG: eth0 (dwc-eth-dwmac): transmit queue 0 timed out
[   88.808818] ------------[ cut here ]------------
[   88.813435] WARNING: CPU: 5 PID: 0 at net/sched/sch_generic.c:320 dev_watchdog+0x2cc/0x2d8
[   88.821681] Modules linked in: dwmac_dwc_qos_eth stmmac_platform crc32_ce crct10dif_ce stmmac ip_tables x_tables ipv6
[   88.832290] CPU: 5 PID: 0 Comm: swapper/5 Tainted: G S              4.14.0-rc7-01956-g9395db5-dirty #21
[   88.841663] Hardware name: NVIDIA Tegra186 P2771-0000 Development Board (DT)
[   88.848697] task: ffff8001ec8fd400 task.stack: ffff000009e38000
[   88.854606] PC is at dev_watchdog+0x2cc/0x2d8
[   88.858952] LR is at dev_watchdog+0x2cc/0x2d8
[   88.863300] pc : [<ffff00000894a76c>] lr : [<ffff00000894a76c>] pstate: 20000145
[   88.870678] sp : ffff00000802bd80
[   88.873983] x29: ffff00000802bd80 x28: 00000000000000a0
[   88.879287] x27: 00000000ffffffff x26: ffff8001eae2c3b0
[   88.884589] x25: 0000000000000005 x24: ffff8001ecb6be80
[   88.889891] x23: ffff8001eae2c39c x22: ffff8001eae2bfb0
[   88.895192] x21: ffff8001eae2c000 x20: ffff000008fe7000
[   88.900493] x19: 0000000000000001 x18: 0000000000000010
[   88.905795] x17: 0000000000000000 x16: 0000000000000000
[   88.911098] x15: ffffffffffffffff x14: 756f2064656d6974
[   88.916399] x13: 2031206575657571 x12: ffff000008fe9df0
[   88.921699] x11: ffff000008586180 x10: 642d6874652d6377
[   88.927000] x9 : 0000000000000016 x8 : 3a474f4448435441
[   88.932301] x7 : 572056454454454e x6 : 000000000000014f
[   88.937602] x5 : 0000000000000020 x4 : 0000000000000000
[   88.942902] x3 : 0000000000000000 x2 : ffff000008fec4c0
[   88.948203] x1 : ffff8001ec8fd400 x0 : 0000000000000041
[   88.953504] Call trace:
[   88.955944] Exception stack(0xffff00000802bc40 to 0xffff00000802bd80)
[   88.962371] bc40: 0000000000000041 ffff8001ec8fd400 ffff000008fec4c0 0000000000000000
[   88.970184] bc60: 0000000000000000 0000000000000020 000000000000014f 572056454454454e
[   88.977998] bc80: 3a474f4448435441 0000000000000016 642d6874652d6377 ffff000008586180
[   88.985811] bca0: ffff000008fe9df0 2031206575657571 756f2064656d6974 ffffffffffffffff
[   88.993624] bcc0: 0000000000000000 0000000000000000 0000000000000010 0000000000000001
[   89.001439] bce0: ffff000008fe7000 ffff8001eae2c000 ffff8001eae2bfb0 ffff8001eae2c39c
[   89.009252] bd00: ffff8001ecb6be80 0000000000000005 ffff8001eae2c3b0 00000000ffffffff
[   89.017065] bd20: 00000000000000a0 ffff00000802bd80 ffff00000894a76c ffff00000802bd80
[   89.024879] bd40: ffff00000894a76c 0000000020000145 ffff000000b67570 0000000000000001
[   89.032693] bd60: 0001000000000000 ffff8001ecb6b200 ffff00000802bd80 ffff00000894a76c
[   89.040508] [<ffff00000894a76c>] dev_watchdog+0x2cc/0x2d8
[   89.045900] [<ffff000008130d1c>] call_timer_fn.isra.5+0x24/0x80
[   89.051809] [<ffff000008130e1c>] expire_timers+0xa4/0xb0
[   89.057111] [<ffff000008130f68>] run_timer_softirq+0x140/0x170
[   89.062933] [<ffff00000808196c>] __do_softirq+0x12c/0x228
[   89.068323] [<ffff0000080ce180>] irq_exit+0xd0/0x108
[   89.073278] [<ffff00000811a180>] __handle_domain_irq+0x60/0xb8
[   89.079098] [<ffff000008081670>] gic_handle_irq+0x58/0xa8
[   89.084484] Exception stack(0xffff000009e3be20 to 0xffff000009e3bf60)
[   89.090910] be20: 0000000000000000 0000000000000000 0000000000000001 0000000000000000
[   89.098724] be40: 0000000000000000 ffff000009e3bf60 00008001ecffd000 0000000000000001
[   89.106537] be60: 0000000000000002 ffff000009e3bee0 0000000000000a00 0000000000000000
[   89.114351] be80: 0000000000000001 0000000000000000 001c3dfbd9959589 00001daf5b7a4860
[   89.122164] bea0: ffff00000825b000 0000000000000000 0000ffffc0311284 ffff000008fc5000
[   89.129978] bec0: ffff000008fe9000 ffff000008fe9000 ffff000008fd04a0 ffff000008fe9e90
[   89.137792] bee0: 0000000000000000 0000000000000000 ffff8001ec8fd400 0000000000000000
[   89.145605] bf00: 0000000000000000 ffff000009e3bf60 ffff00000808548c ffff000009e3bf60
[   89.153418] bf20: ffff000008085490 0000000000000145 0000000000000000 0000000000000000
[   89.161231] bf40: ffffffffffffffff ffff0000081409c4 ffff000009e3bf60 ffff000008085490
[   89.169044] [<ffff0000080830f0>] el1_irq+0xb0/0x124
[   89.173912] [<ffff000008085490>] arch_cpu_idle+0x10/0x18
[   89.179213] [<ffff000008105f10>] do_idle+0x120/0x1e0
[   89.184166] [<ffff00000810616c>] cpu_startup_entry+0x24/0x28
[   89.189814] [<ffff00000808f1c8>] secondary_start_kernel+0x110/0x120
[   89.196067] ---[ end trace 039d403d63546b77 ]---
 
Below are the DT changes -

diff --git a/arch/arm64/boot/dts/nvidia/tegra186.dtsi b/arch/arm64/boot/dts/nvidia/tegra186.dtsi
index 0b0552c..ffe1b80 100644
--- a/arch/arm64/boot/dts/nvidia/tegra186.dtsi
+++ b/arch/arm64/boot/dts/nvidia/tegra186.dtsi
@@ -27,21 +27,40 @@
                #gpio-cells = <2>;
                gpio-controller;
        };
+
+       mtl_tx_setup: tx-queues-config {
+               snps,tx-queues-to-use = <0x4>;
+               snps,tx-sched-sp;
+               queue0 {
+                       snps,weight = <0x10>;
+                       snps,dcb-algorithm;
+                       snps,priority = <0x0>;
+               };
+               queue1 {
+                       snps,avb-algorithm;
+                       snps,send_slope = <0x1000>;
+                       snps,idle_slope = <0x1000>;
+                       snps,high_credit = <0x3E800>;
+                       snps,low_credit = <0xFFC18000>;
+                       snps,priority = <0x1>;
+               };
+       };
+
+       mtl_rx_setup: rx-queues-config {
+               snps,rx-queues-to-use = <0x4>;
+               snps,rx-sched-sp;
+               queue0 {
+                       snps,dcb-algorithm;
+                       snps,map-to-dma-channel = <0x0>;
+                       snps,priority = <0x0>;
+               };
+       };
       ethernet@2490000 {
                compatible = "nvidia,tegra186-eqos",
                             "snps,dwc-qos-ethernet-4.10";
                reg = <0x0 0x02490000 0x0 0x10000>; @@ -57,6 +76,10 @@
                snps,burst-map = <0x7>;
                snps,txpbl = <32>;
                snps,rxpbl = <8>;
+
+               snps,mtl-tx-config = <&mtl_tx_setup>;
+               snps,mtl-rx-config = <&mtl_rx_setup>;


Thanks,
Bhadram.
-----------------------------------------------------------------------------------
This email message is for the sole use of the intended recipient(s) and may contain
confidential information.  Any unauthorized review, use, disclosure or distribution
is prohibited.  If you are not the intended recipient, please contact the sender by
reply email and destroy all copies of the original message.
-----------------------------------------------------------------------------------

^ permalink raw reply related	[flat|nested] 9+ messages in thread

* Re: NETDEV WATCHDOG: eth0 (dwc-eth-dwmac): transmit queue 1 timed out
  2017-11-20  6:38 ` Bhadram Varka
@ 2017-11-20 13:06   ` Giuseppe CAVALLARO
  2017-11-20 14:22     ` Bhadram Varka
  2017-12-01 15:34   ` Lars P (Mailing List Account)
  1 sibling, 1 reply; 9+ messages in thread
From: Giuseppe CAVALLARO @ 2017-11-20 13:06 UTC (permalink / raw)
  To: Bhadram Varka, Joao.Pinto; +Cc: linux-netdev

Hello Bhadram

there are some new patches actually in net/net-next repo that you should 
have; for example:

    [PATCH net-next v2 0/2] net: stmmac: Improvements for multi-queuing 
and for AVB

Let me know if these help you.

Regards
Peppe

On 11/20/2017 7:38 AM, Bhadram Varka wrote:
> Hi Joao/Peppe,
>
> Observed this issue more frequently with multi-channel case. Am I missing something in DT ?
> Please help here to understand the issue.
>
> Thanks,
> Bhadram
>
> -----Original Message-----
> From: Bhadram Varka
> Sent: Thursday, November 16, 2017 9:41 AM
> To: linux-netdev <netdev@vger.kernel.org>
> Subject: NETDEV WATCHDOG: eth0 (dwc-eth-dwmac): transmit queue 1 timed out
>
> Hi,
>
> I am trying to enable multi-queue in Tegra186 EQOS (which has support for 4 channels). Observed below netdev watchdog warning. Its easily reproable with iperf test.
> In normal ping scenario this is not observed. I did not observe any issue if we disable TSO. Looks like issue in stmmac_tso_xmit() in multi-channel scenario.
>
> [   88.801672] NETDEV WATCHDOG: eth0 (dwc-eth-dwmac): transmit queue 0 timed out
> [   88.808818] ------------[ cut here ]------------
> [   88.813435] WARNING: CPU: 5 PID: 0 at net/sched/sch_generic.c:320 dev_watchdog+0x2cc/0x2d8
> [   88.821681] Modules linked in: dwmac_dwc_qos_eth stmmac_platform crc32_ce crct10dif_ce stmmac ip_tables x_tables ipv6
> [   88.832290] CPU: 5 PID: 0 Comm: swapper/5 Tainted: G S              4.14.0-rc7-01956-g9395db5-dirty #21
> [   88.841663] Hardware name: NVIDIA Tegra186 P2771-0000 Development Board (DT)
> [   88.848697] task: ffff8001ec8fd400 task.stack: ffff000009e38000
> [   88.854606] PC is at dev_watchdog+0x2cc/0x2d8
> [   88.858952] LR is at dev_watchdog+0x2cc/0x2d8
> [   88.863300] pc : [<ffff00000894a76c>] lr : [<ffff00000894a76c>] pstate: 20000145
> [   88.870678] sp : ffff00000802bd80
> [   88.873983] x29: ffff00000802bd80 x28: 00000000000000a0
> [   88.879287] x27: 00000000ffffffff x26: ffff8001eae2c3b0
> [   88.884589] x25: 0000000000000005 x24: ffff8001ecb6be80
> [   88.889891] x23: ffff8001eae2c39c x22: ffff8001eae2bfb0
> [   88.895192] x21: ffff8001eae2c000 x20: ffff000008fe7000
> [   88.900493] x19: 0000000000000001 x18: 0000000000000010
> [   88.905795] x17: 0000000000000000 x16: 0000000000000000
> [   88.911098] x15: ffffffffffffffff x14: 756f2064656d6974
> [   88.916399] x13: 2031206575657571 x12: ffff000008fe9df0
> [   88.921699] x11: ffff000008586180 x10: 642d6874652d6377
> [   88.927000] x9 : 0000000000000016 x8 : 3a474f4448435441
> [   88.932301] x7 : 572056454454454e x6 : 000000000000014f
> [   88.937602] x5 : 0000000000000020 x4 : 0000000000000000
> [   88.942902] x3 : 0000000000000000 x2 : ffff000008fec4c0
> [   88.948203] x1 : ffff8001ec8fd400 x0 : 0000000000000041
> [   88.953504] Call trace:
> [   88.955944] Exception stack(0xffff00000802bc40 to 0xffff00000802bd80)
> [   88.962371] bc40: 0000000000000041 ffff8001ec8fd400 ffff000008fec4c0 0000000000000000
> [   88.970184] bc60: 0000000000000000 0000000000000020 000000000000014f 572056454454454e
> [   88.977998] bc80: 3a474f4448435441 0000000000000016 642d6874652d6377 ffff000008586180
> [   88.985811] bca0: ffff000008fe9df0 2031206575657571 756f2064656d6974 ffffffffffffffff
> [   88.993624] bcc0: 0000000000000000 0000000000000000 0000000000000010 0000000000000001
> [   89.001439] bce0: ffff000008fe7000 ffff8001eae2c000 ffff8001eae2bfb0 ffff8001eae2c39c
> [   89.009252] bd00: ffff8001ecb6be80 0000000000000005 ffff8001eae2c3b0 00000000ffffffff
> [   89.017065] bd20: 00000000000000a0 ffff00000802bd80 ffff00000894a76c ffff00000802bd80
> [   89.024879] bd40: ffff00000894a76c 0000000020000145 ffff000000b67570 0000000000000001
> [   89.032693] bd60: 0001000000000000 ffff8001ecb6b200 ffff00000802bd80 ffff00000894a76c
> [   89.040508] [<ffff00000894a76c>] dev_watchdog+0x2cc/0x2d8
> [   89.045900] [<ffff000008130d1c>] call_timer_fn.isra.5+0x24/0x80
> [   89.051809] [<ffff000008130e1c>] expire_timers+0xa4/0xb0
> [   89.057111] [<ffff000008130f68>] run_timer_softirq+0x140/0x170
> [   89.062933] [<ffff00000808196c>] __do_softirq+0x12c/0x228
> [   89.068323] [<ffff0000080ce180>] irq_exit+0xd0/0x108
> [   89.073278] [<ffff00000811a180>] __handle_domain_irq+0x60/0xb8
> [   89.079098] [<ffff000008081670>] gic_handle_irq+0x58/0xa8
> [   89.084484] Exception stack(0xffff000009e3be20 to 0xffff000009e3bf60)
> [   89.090910] be20: 0000000000000000 0000000000000000 0000000000000001 0000000000000000
> [   89.098724] be40: 0000000000000000 ffff000009e3bf60 00008001ecffd000 0000000000000001
> [   89.106537] be60: 0000000000000002 ffff000009e3bee0 0000000000000a00 0000000000000000
> [   89.114351] be80: 0000000000000001 0000000000000000 001c3dfbd9959589 00001daf5b7a4860
> [   89.122164] bea0: ffff00000825b000 0000000000000000 0000ffffc0311284 ffff000008fc5000
> [   89.129978] bec0: ffff000008fe9000 ffff000008fe9000 ffff000008fd04a0 ffff000008fe9e90
> [   89.137792] bee0: 0000000000000000 0000000000000000 ffff8001ec8fd400 0000000000000000
> [   89.145605] bf00: 0000000000000000 ffff000009e3bf60 ffff00000808548c ffff000009e3bf60
> [   89.153418] bf20: ffff000008085490 0000000000000145 0000000000000000 0000000000000000
> [   89.161231] bf40: ffffffffffffffff ffff0000081409c4 ffff000009e3bf60 ffff000008085490
> [   89.169044] [<ffff0000080830f0>] el1_irq+0xb0/0x124
> [   89.173912] [<ffff000008085490>] arch_cpu_idle+0x10/0x18
> [   89.179213] [<ffff000008105f10>] do_idle+0x120/0x1e0
> [   89.184166] [<ffff00000810616c>] cpu_startup_entry+0x24/0x28
> [   89.189814] [<ffff00000808f1c8>] secondary_start_kernel+0x110/0x120
> [   89.196067] ---[ end trace 039d403d63546b77 ]---
>   
> Below are the DT changes -
>
> diff --git a/arch/arm64/boot/dts/nvidia/tegra186.dtsi b/arch/arm64/boot/dts/nvidia/tegra186.dtsi
> index 0b0552c..ffe1b80 100644
> --- a/arch/arm64/boot/dts/nvidia/tegra186.dtsi
> +++ b/arch/arm64/boot/dts/nvidia/tegra186.dtsi
> @@ -27,21 +27,40 @@
>                  #gpio-cells = <2>;
>                  gpio-controller;
>          };
> +
> +       mtl_tx_setup: tx-queues-config {
> +               snps,tx-queues-to-use = <0x4>;
> +               snps,tx-sched-sp;
> +               queue0 {
> +                       snps,weight = <0x10>;
> +                       snps,dcb-algorithm;
> +                       snps,priority = <0x0>;
> +               };
> +               queue1 {
> +                       snps,avb-algorithm;
> +                       snps,send_slope = <0x1000>;
> +                       snps,idle_slope = <0x1000>;
> +                       snps,high_credit = <0x3E800>;
> +                       snps,low_credit = <0xFFC18000>;
> +                       snps,priority = <0x1>;
> +               };
> +       };
> +
> +       mtl_rx_setup: rx-queues-config {
> +               snps,rx-queues-to-use = <0x4>;
> +               snps,rx-sched-sp;
> +               queue0 {
> +                       snps,dcb-algorithm;
> +                       snps,map-to-dma-channel = <0x0>;
> +                       snps,priority = <0x0>;
> +               };
> +       };
>         ethernet@2490000 {
>                  compatible = "nvidia,tegra186-eqos",
>                               "snps,dwc-qos-ethernet-4.10";
>                  reg = <0x0 0x02490000 0x0 0x10000>; @@ -57,6 +76,10 @@
>                  snps,burst-map = <0x7>;
>                  snps,txpbl = <32>;
>                  snps,rxpbl = <8>;
> +
> +               snps,mtl-tx-config = <&mtl_tx_setup>;
> +               snps,mtl-rx-config = <&mtl_rx_setup>;
>
>
> Thanks,
> Bhadram.
> -----------------------------------------------------------------------------------
> This email message is for the sole use of the intended recipient(s) and may contain
> confidential information.  Any unauthorized review, use, disclosure or distribution
> is prohibited.  If you are not the intended recipient, please contact the sender by
> reply email and destroy all copies of the original message.
> -----------------------------------------------------------------------------------
>

^ permalink raw reply	[flat|nested] 9+ messages in thread

* RE: NETDEV WATCHDOG: eth0 (dwc-eth-dwmac): transmit queue 1 timed out
  2017-11-20 13:06   ` Giuseppe CAVALLARO
@ 2017-11-20 14:22     ` Bhadram Varka
  2017-11-23  6:27       ` Giuseppe CAVALLARO
  0 siblings, 1 reply; 9+ messages in thread
From: Bhadram Varka @ 2017-11-20 14:22 UTC (permalink / raw)
  To: Giuseppe CAVALLARO, Joao.Pinto; +Cc: linux-netdev

Hi Giuseppe,

Thanks for responding.

Actually I am using net-next tree for making the changes. Below patches already present in code base.

a0daae1 net: stmmac: Disable flow ctrl for RX AVB queues and really enable TX AVB queues
52a7623 net: stmmac: Use correct values in TQS/RQS fields

Thanks,
Bhadram.

-----Original Message-----
From: Giuseppe CAVALLARO [mailto:peppe.cavallaro@st.com] 
Sent: Monday, November 20, 2017 6:37 PM
To: Bhadram Varka <vbhadram@nvidia.com>; Joao.Pinto@synopsys.com
Cc: linux-netdev <netdev@vger.kernel.org>
Subject: Re: NETDEV WATCHDOG: eth0 (dwc-eth-dwmac): transmit queue 1 timed out

Hello Bhadram

there are some new patches actually in net/net-next repo that you should have; for example:

    [PATCH net-next v2 0/2] net: stmmac: Improvements for multi-queuing and for AVB

Let me know if these help you.

Regards
Peppe

On 11/20/2017 7:38 AM, Bhadram Varka wrote:
> Hi Joao/Peppe,
>
> Observed this issue more frequently with multi-channel case. Am I missing something in DT ?
> Please help here to understand the issue.
>
> Thanks,
> Bhadram
>
> -----Original Message-----
> From: Bhadram Varka
> Sent: Thursday, November 16, 2017 9:41 AM
> To: linux-netdev <netdev@vger.kernel.org>
> Subject: NETDEV WATCHDOG: eth0 (dwc-eth-dwmac): transmit queue 1 timed 
> out
>
> Hi,
>
> I am trying to enable multi-queue in Tegra186 EQOS (which has support for 4 channels). Observed below netdev watchdog warning. Its easily reproable with iperf test.
> In normal ping scenario this is not observed. I did not observe any issue if we disable TSO. Looks like issue in stmmac_tso_xmit() in multi-channel scenario.
>
> [   88.801672] NETDEV WATCHDOG: eth0 (dwc-eth-dwmac): transmit queue 0 timed out
> [   88.808818] ------------[ cut here ]------------
> [   88.813435] WARNING: CPU: 5 PID: 0 at net/sched/sch_generic.c:320 dev_watchdog+0x2cc/0x2d8
> [   88.821681] Modules linked in: dwmac_dwc_qos_eth stmmac_platform crc32_ce crct10dif_ce stmmac ip_tables x_tables ipv6
> [   88.832290] CPU: 5 PID: 0 Comm: swapper/5 Tainted: G S              4.14.0-rc7-01956-g9395db5-dirty #21
> [   88.841663] Hardware name: NVIDIA Tegra186 P2771-0000 Development Board (DT)
> [   88.848697] task: ffff8001ec8fd400 task.stack: ffff000009e38000
> [   88.854606] PC is at dev_watchdog+0x2cc/0x2d8
> [   88.858952] LR is at dev_watchdog+0x2cc/0x2d8
> [   88.863300] pc : [<ffff00000894a76c>] lr : [<ffff00000894a76c>] pstate: 20000145
> [   88.870678] sp : ffff00000802bd80
> [   88.873983] x29: ffff00000802bd80 x28: 00000000000000a0
> [   88.879287] x27: 00000000ffffffff x26: ffff8001eae2c3b0
> [   88.884589] x25: 0000000000000005 x24: ffff8001ecb6be80
> [   88.889891] x23: ffff8001eae2c39c x22: ffff8001eae2bfb0
> [   88.895192] x21: ffff8001eae2c000 x20: ffff000008fe7000
> [   88.900493] x19: 0000000000000001 x18: 0000000000000010
> [   88.905795] x17: 0000000000000000 x16: 0000000000000000
> [   88.911098] x15: ffffffffffffffff x14: 756f2064656d6974
> [   88.916399] x13: 2031206575657571 x12: ffff000008fe9df0
> [   88.921699] x11: ffff000008586180 x10: 642d6874652d6377
> [   88.927000] x9 : 0000000000000016 x8 : 3a474f4448435441
> [   88.932301] x7 : 572056454454454e x6 : 000000000000014f
> [   88.937602] x5 : 0000000000000020 x4 : 0000000000000000
> [   88.942902] x3 : 0000000000000000 x2 : ffff000008fec4c0
> [   88.948203] x1 : ffff8001ec8fd400 x0 : 0000000000000041
> [   88.953504] Call trace:
> [   88.955944] Exception stack(0xffff00000802bc40 to 0xffff00000802bd80)
> [   88.962371] bc40: 0000000000000041 ffff8001ec8fd400 ffff000008fec4c0 0000000000000000
> [   88.970184] bc60: 0000000000000000 0000000000000020 000000000000014f 572056454454454e
> [   88.977998] bc80: 3a474f4448435441 0000000000000016 642d6874652d6377 ffff000008586180
> [   88.985811] bca0: ffff000008fe9df0 2031206575657571 756f2064656d6974 ffffffffffffffff
> [   88.993624] bcc0: 0000000000000000 0000000000000000 0000000000000010 0000000000000001
> [   89.001439] bce0: ffff000008fe7000 ffff8001eae2c000 ffff8001eae2bfb0 ffff8001eae2c39c
> [   89.009252] bd00: ffff8001ecb6be80 0000000000000005 ffff8001eae2c3b0 00000000ffffffff
> [   89.017065] bd20: 00000000000000a0 ffff00000802bd80 ffff00000894a76c ffff00000802bd80
> [   89.024879] bd40: ffff00000894a76c 0000000020000145 ffff000000b67570 0000000000000001
> [   89.032693] bd60: 0001000000000000 ffff8001ecb6b200 ffff00000802bd80 ffff00000894a76c
> [   89.040508] [<ffff00000894a76c>] dev_watchdog+0x2cc/0x2d8
> [   89.045900] [<ffff000008130d1c>] call_timer_fn.isra.5+0x24/0x80
> [   89.051809] [<ffff000008130e1c>] expire_timers+0xa4/0xb0
> [   89.057111] [<ffff000008130f68>] run_timer_softirq+0x140/0x170
> [   89.062933] [<ffff00000808196c>] __do_softirq+0x12c/0x228
> [   89.068323] [<ffff0000080ce180>] irq_exit+0xd0/0x108
> [   89.073278] [<ffff00000811a180>] __handle_domain_irq+0x60/0xb8
> [   89.079098] [<ffff000008081670>] gic_handle_irq+0x58/0xa8
> [   89.084484] Exception stack(0xffff000009e3be20 to 0xffff000009e3bf60)
> [   89.090910] be20: 0000000000000000 0000000000000000 0000000000000001 0000000000000000
> [   89.098724] be40: 0000000000000000 ffff000009e3bf60 00008001ecffd000 0000000000000001
> [   89.106537] be60: 0000000000000002 ffff000009e3bee0 0000000000000a00 0000000000000000
> [   89.114351] be80: 0000000000000001 0000000000000000 001c3dfbd9959589 00001daf5b7a4860
> [   89.122164] bea0: ffff00000825b000 0000000000000000 0000ffffc0311284 ffff000008fc5000
> [   89.129978] bec0: ffff000008fe9000 ffff000008fe9000 ffff000008fd04a0 ffff000008fe9e90
> [   89.137792] bee0: 0000000000000000 0000000000000000 ffff8001ec8fd400 0000000000000000
> [   89.145605] bf00: 0000000000000000 ffff000009e3bf60 ffff00000808548c ffff000009e3bf60
> [   89.153418] bf20: ffff000008085490 0000000000000145 0000000000000000 0000000000000000
> [   89.161231] bf40: ffffffffffffffff ffff0000081409c4 ffff000009e3bf60 ffff000008085490
> [   89.169044] [<ffff0000080830f0>] el1_irq+0xb0/0x124
> [   89.173912] [<ffff000008085490>] arch_cpu_idle+0x10/0x18
> [   89.179213] [<ffff000008105f10>] do_idle+0x120/0x1e0
> [   89.184166] [<ffff00000810616c>] cpu_startup_entry+0x24/0x28
> [   89.189814] [<ffff00000808f1c8>] secondary_start_kernel+0x110/0x120
> [   89.196067] ---[ end trace 039d403d63546b77 ]---
>   
> Below are the DT changes -
>
> diff --git a/arch/arm64/boot/dts/nvidia/tegra186.dtsi 
> b/arch/arm64/boot/dts/nvidia/tegra186.dtsi
> index 0b0552c..ffe1b80 100644
> --- a/arch/arm64/boot/dts/nvidia/tegra186.dtsi
> +++ b/arch/arm64/boot/dts/nvidia/tegra186.dtsi
> @@ -27,21 +27,40 @@
>                  #gpio-cells = <2>;
>                  gpio-controller;
>          };
> +
> +       mtl_tx_setup: tx-queues-config {
> +               snps,tx-queues-to-use = <0x4>;
> +               snps,tx-sched-sp;
> +               queue0 {
> +                       snps,weight = <0x10>;
> +                       snps,dcb-algorithm;
> +                       snps,priority = <0x0>;
> +               };
> +               queue1 {
> +                       snps,avb-algorithm;
> +                       snps,send_slope = <0x1000>;
> +                       snps,idle_slope = <0x1000>;
> +                       snps,high_credit = <0x3E800>;
> +                       snps,low_credit = <0xFFC18000>;
> +                       snps,priority = <0x1>;
> +               };
> +       };
> +
> +       mtl_rx_setup: rx-queues-config {
> +               snps,rx-queues-to-use = <0x4>;
> +               snps,rx-sched-sp;
> +               queue0 {
> +                       snps,dcb-algorithm;
> +                       snps,map-to-dma-channel = <0x0>;
> +                       snps,priority = <0x0>;
> +               };
> +       };
>         ethernet@2490000 {
>                  compatible = "nvidia,tegra186-eqos",
>                               "snps,dwc-qos-ethernet-4.10";
>                  reg = <0x0 0x02490000 0x0 0x10000>; @@ -57,6 +76,10 @@
>                  snps,burst-map = <0x7>;
>                  snps,txpbl = <32>;
>                  snps,rxpbl = <8>;
> +
> +               snps,mtl-tx-config = <&mtl_tx_setup>;
> +               snps,mtl-rx-config = <&mtl_rx_setup>;
>
-----------------------------------------------------------------------------------
This email message is for the sole use of the intended recipient(s) and may contain
confidential information.  Any unauthorized review, use, disclosure or distribution
is prohibited.  If you are not the intended recipient, please contact the sender by
reply email and destroy all copies of the original message.
-----------------------------------------------------------------------------------

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: NETDEV WATCHDOG: eth0 (dwc-eth-dwmac): transmit queue 1 timed out
  2017-11-20 14:22     ` Bhadram Varka
@ 2017-11-23  6:27       ` Giuseppe CAVALLARO
  2017-12-01 15:39         ` Bhadram Varka
  0 siblings, 1 reply; 9+ messages in thread
From: Giuseppe CAVALLARO @ 2017-11-23  6:27 UTC (permalink / raw)
  To: Bhadram Varka, Joao.Pinto; +Cc: linux-netdev

Hi Bhadram

you said that  In normal ping scenario this is not observed, I wonder if 
you could try
for example, ping with -s 1400. In that case, if still fail I think the 
issue could be the
FIFO tuning and I expect overflow on RX MMC counters.

Let me know
Regards,
Peppe

On 11/20/2017 3:22 PM, Bhadram Varka wrote:
> Hi Giuseppe,
>
> Thanks for responding.
>
> Actually I am using net-next tree for making the changes. Below patches already present in code base.
>
> a0daae1 net: stmmac: Disable flow ctrl for RX AVB queues and really enable TX AVB queues
> 52a7623 net: stmmac: Use correct values in TQS/RQS fields
>
> Thanks,
> Bhadram.
>
> -----Original Message-----
> From: Giuseppe CAVALLARO [mailto:peppe.cavallaro@st.com]
> Sent: Monday, November 20, 2017 6:37 PM
> To: Bhadram Varka <vbhadram@nvidia.com>; Joao.Pinto@synopsys.com
> Cc: linux-netdev <netdev@vger.kernel.org>
> Subject: Re: NETDEV WATCHDOG: eth0 (dwc-eth-dwmac): transmit queue 1 timed out
>
> Hello Bhadram
>
> there are some new patches actually in net/net-next repo that you should have; for example:
>
>      [PATCH net-next v2 0/2] net: stmmac: Improvements for multi-queuing and for AVB
>
> Let me know if these help you.
>
> Regards
> Peppe
>
> On 11/20/2017 7:38 AM, Bhadram Varka wrote:
>> Hi Joao/Peppe,
>>
>> Observed this issue more frequently with multi-channel case. Am I missing something in DT ?
>> Please help here to understand the issue.
>>
>> Thanks,
>> Bhadram
>>
>> -----Original Message-----
>> From: Bhadram Varka
>> Sent: Thursday, November 16, 2017 9:41 AM
>> To: linux-netdev <netdev@vger.kernel.org>
>> Subject: NETDEV WATCHDOG: eth0 (dwc-eth-dwmac): transmit queue 1 timed
>> out
>>
>> Hi,
>>
>> I am trying to enable multi-queue in Tegra186 EQOS (which has support for 4 channels). Observed below netdev watchdog warning. Its easily reproable with iperf test.
>> In normal ping scenario this is not observed. I did not observe any issue if we disable TSO. Looks like issue in stmmac_tso_xmit() in multi-channel scenario.
>>
>> [   88.801672] NETDEV WATCHDOG: eth0 (dwc-eth-dwmac): transmit queue 0 timed out
>> [   88.808818] ------------[ cut here ]------------
>> [   88.813435] WARNING: CPU: 5 PID: 0 at net/sched/sch_generic.c:320 dev_watchdog+0x2cc/0x2d8
>> [   88.821681] Modules linked in: dwmac_dwc_qos_eth stmmac_platform crc32_ce crct10dif_ce stmmac ip_tables x_tables ipv6
>> [   88.832290] CPU: 5 PID: 0 Comm: swapper/5 Tainted: G S              4.14.0-rc7-01956-g9395db5-dirty #21
>> [   88.841663] Hardware name: NVIDIA Tegra186 P2771-0000 Development Board (DT)
>> [   88.848697] task: ffff8001ec8fd400 task.stack: ffff000009e38000
>> [   88.854606] PC is at dev_watchdog+0x2cc/0x2d8
>> [   88.858952] LR is at dev_watchdog+0x2cc/0x2d8
>> [   88.863300] pc : [<ffff00000894a76c>] lr : [<ffff00000894a76c>] pstate: 20000145
>> [   88.870678] sp : ffff00000802bd80
>> [   88.873983] x29: ffff00000802bd80 x28: 00000000000000a0
>> [   88.879287] x27: 00000000ffffffff x26: ffff8001eae2c3b0
>> [   88.884589] x25: 0000000000000005 x24: ffff8001ecb6be80
>> [   88.889891] x23: ffff8001eae2c39c x22: ffff8001eae2bfb0
>> [   88.895192] x21: ffff8001eae2c000 x20: ffff000008fe7000
>> [   88.900493] x19: 0000000000000001 x18: 0000000000000010
>> [   88.905795] x17: 0000000000000000 x16: 0000000000000000
>> [   88.911098] x15: ffffffffffffffff x14: 756f2064656d6974
>> [   88.916399] x13: 2031206575657571 x12: ffff000008fe9df0
>> [   88.921699] x11: ffff000008586180 x10: 642d6874652d6377
>> [   88.927000] x9 : 0000000000000016 x8 : 3a474f4448435441
>> [   88.932301] x7 : 572056454454454e x6 : 000000000000014f
>> [   88.937602] x5 : 0000000000000020 x4 : 0000000000000000
>> [   88.942902] x3 : 0000000000000000 x2 : ffff000008fec4c0
>> [   88.948203] x1 : ffff8001ec8fd400 x0 : 0000000000000041
>> [   88.953504] Call trace:
>> [   88.955944] Exception stack(0xffff00000802bc40 to 0xffff00000802bd80)
>> [   88.962371] bc40: 0000000000000041 ffff8001ec8fd400 ffff000008fec4c0 0000000000000000
>> [   88.970184] bc60: 0000000000000000 0000000000000020 000000000000014f 572056454454454e
>> [   88.977998] bc80: 3a474f4448435441 0000000000000016 642d6874652d6377 ffff000008586180
>> [   88.985811] bca0: ffff000008fe9df0 2031206575657571 756f2064656d6974 ffffffffffffffff
>> [   88.993624] bcc0: 0000000000000000 0000000000000000 0000000000000010 0000000000000001
>> [   89.001439] bce0: ffff000008fe7000 ffff8001eae2c000 ffff8001eae2bfb0 ffff8001eae2c39c
>> [   89.009252] bd00: ffff8001ecb6be80 0000000000000005 ffff8001eae2c3b0 00000000ffffffff
>> [   89.017065] bd20: 00000000000000a0 ffff00000802bd80 ffff00000894a76c ffff00000802bd80
>> [   89.024879] bd40: ffff00000894a76c 0000000020000145 ffff000000b67570 0000000000000001
>> [   89.032693] bd60: 0001000000000000 ffff8001ecb6b200 ffff00000802bd80 ffff00000894a76c
>> [   89.040508] [<ffff00000894a76c>] dev_watchdog+0x2cc/0x2d8
>> [   89.045900] [<ffff000008130d1c>] call_timer_fn.isra.5+0x24/0x80
>> [   89.051809] [<ffff000008130e1c>] expire_timers+0xa4/0xb0
>> [   89.057111] [<ffff000008130f68>] run_timer_softirq+0x140/0x170
>> [   89.062933] [<ffff00000808196c>] __do_softirq+0x12c/0x228
>> [   89.068323] [<ffff0000080ce180>] irq_exit+0xd0/0x108
>> [   89.073278] [<ffff00000811a180>] __handle_domain_irq+0x60/0xb8
>> [   89.079098] [<ffff000008081670>] gic_handle_irq+0x58/0xa8
>> [   89.084484] Exception stack(0xffff000009e3be20 to 0xffff000009e3bf60)
>> [   89.090910] be20: 0000000000000000 0000000000000000 0000000000000001 0000000000000000
>> [   89.098724] be40: 0000000000000000 ffff000009e3bf60 00008001ecffd000 0000000000000001
>> [   89.106537] be60: 0000000000000002 ffff000009e3bee0 0000000000000a00 0000000000000000
>> [   89.114351] be80: 0000000000000001 0000000000000000 001c3dfbd9959589 00001daf5b7a4860
>> [   89.122164] bea0: ffff00000825b000 0000000000000000 0000ffffc0311284 ffff000008fc5000
>> [   89.129978] bec0: ffff000008fe9000 ffff000008fe9000 ffff000008fd04a0 ffff000008fe9e90
>> [   89.137792] bee0: 0000000000000000 0000000000000000 ffff8001ec8fd400 0000000000000000
>> [   89.145605] bf00: 0000000000000000 ffff000009e3bf60 ffff00000808548c ffff000009e3bf60
>> [   89.153418] bf20: ffff000008085490 0000000000000145 0000000000000000 0000000000000000
>> [   89.161231] bf40: ffffffffffffffff ffff0000081409c4 ffff000009e3bf60 ffff000008085490
>> [   89.169044] [<ffff0000080830f0>] el1_irq+0xb0/0x124
>> [   89.173912] [<ffff000008085490>] arch_cpu_idle+0x10/0x18
>> [   89.179213] [<ffff000008105f10>] do_idle+0x120/0x1e0
>> [   89.184166] [<ffff00000810616c>] cpu_startup_entry+0x24/0x28
>> [   89.189814] [<ffff00000808f1c8>] secondary_start_kernel+0x110/0x120
>> [   89.196067] ---[ end trace 039d403d63546b77 ]---
>>    
>> Below are the DT changes -
>>
>> diff --git a/arch/arm64/boot/dts/nvidia/tegra186.dtsi
>> b/arch/arm64/boot/dts/nvidia/tegra186.dtsi
>> index 0b0552c..ffe1b80 100644
>> --- a/arch/arm64/boot/dts/nvidia/tegra186.dtsi
>> +++ b/arch/arm64/boot/dts/nvidia/tegra186.dtsi
>> @@ -27,21 +27,40 @@
>>                   #gpio-cells = <2>;
>>                   gpio-controller;
>>           };
>> +
>> +       mtl_tx_setup: tx-queues-config {
>> +               snps,tx-queues-to-use = <0x4>;
>> +               snps,tx-sched-sp;
>> +               queue0 {
>> +                       snps,weight = <0x10>;
>> +                       snps,dcb-algorithm;
>> +                       snps,priority = <0x0>;
>> +               };
>> +               queue1 {
>> +                       snps,avb-algorithm;
>> +                       snps,send_slope = <0x1000>;
>> +                       snps,idle_slope = <0x1000>;
>> +                       snps,high_credit = <0x3E800>;
>> +                       snps,low_credit = <0xFFC18000>;
>> +                       snps,priority = <0x1>;
>> +               };
>> +       };
>> +
>> +       mtl_rx_setup: rx-queues-config {
>> +               snps,rx-queues-to-use = <0x4>;
>> +               snps,rx-sched-sp;
>> +               queue0 {
>> +                       snps,dcb-algorithm;
>> +                       snps,map-to-dma-channel = <0x0>;
>> +                       snps,priority = <0x0>;
>> +               };
>> +       };
>>          ethernet@2490000 {
>>                   compatible = "nvidia,tegra186-eqos",
>>                                "snps,dwc-qos-ethernet-4.10";
>>                   reg = <0x0 0x02490000 0x0 0x10000>; @@ -57,6 +76,10 @@
>>                   snps,burst-map = <0x7>;
>>                   snps,txpbl = <32>;
>>                   snps,rxpbl = <8>;
>> +
>> +               snps,mtl-tx-config = <&mtl_tx_setup>;
>> +               snps,mtl-rx-config = <&mtl_rx_setup>;
>>
> -----------------------------------------------------------------------------------
> This email message is for the sole use of the intended recipient(s) and may contain
> confidential information.  Any unauthorized review, use, disclosure or distribution
> is prohibited.  If you are not the intended recipient, please contact the sender by
> reply email and destroy all copies of the original message.
> -----------------------------------------------------------------------------------
>

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: NETDEV WATCHDOG: eth0 (dwc-eth-dwmac): transmit queue 1 timed out
  2017-11-20  6:38 ` Bhadram Varka
  2017-11-20 13:06   ` Giuseppe CAVALLARO
@ 2017-12-01 15:34   ` Lars P (Mailing List Account)
  2017-12-01 15:49     ` Bhadram Varka
  1 sibling, 1 reply; 9+ messages in thread
From: Lars P (Mailing List Account) @ 2017-12-01 15:34 UTC (permalink / raw)
  To: Bhadram Varka; +Cc: Joao.Pinto, peppe.cavallaro, linux-netdev

Hi Bhadram,

Does the Tegra by any chance have TSO enabled on multiple TX-DMA channels ?

I recently noticed a second TSO bug in the stmmac while making the
patch "stmmac: reset last TSO segment size after device open".

The last-used MSS setting in TSO is tracked as a device-global
variable and not per TX queue. Using TSO on tx queue 0 will record mss
to priv->mss and if we later use TSO on tx queue 1 with the same
gso_size then the driver will not use a context descriptor to set the
MSS size for this queue. This probably means that the TSO controller
in channel 1 goes nuts with an undefined mss setting.

BR,
 Lars Persson

On Mon, Nov 20, 2017 at 7:38 AM, Bhadram Varka <vbhadram@nvidia.com> wrote:
> Hi Joao/Peppe,
>
> Observed this issue more frequently with multi-channel case. Am I missing something in DT ?
> Please help here to understand the issue.
>
> Thanks,
> Bhadram
>
> -----Original Message-----
> From: Bhadram Varka
> Sent: Thursday, November 16, 2017 9:41 AM
> To: linux-netdev <netdev@vger.kernel.org>
> Subject: NETDEV WATCHDOG: eth0 (dwc-eth-dwmac): transmit queue 1 timed out
>
> Hi,
>
> I am trying to enable multi-queue in Tegra186 EQOS (which has support for 4 channels). Observed below netdev watchdog warning. Its easily reproable with iperf test.
> In normal ping scenario this is not observed. I did not observe any issue if we disable TSO. Looks like issue in stmmac_tso_xmit() in multi-channel scenario.
>

^ permalink raw reply	[flat|nested] 9+ messages in thread

* RE: NETDEV WATCHDOG: eth0 (dwc-eth-dwmac): transmit queue 1 timed out
  2017-11-23  6:27       ` Giuseppe CAVALLARO
@ 2017-12-01 15:39         ` Bhadram Varka
  2017-12-02 13:19           ` Giuseppe CAVALLARO
  0 siblings, 1 reply; 9+ messages in thread
From: Bhadram Varka @ 2017-12-01 15:39 UTC (permalink / raw)
  To: Giuseppe CAVALLARO, Joao.Pinto; +Cc: linux-netdev

Hi Giuseppe,

I don't see any issue with if we execute "ping -s 1400" case. I believe in this case TSO not triggered.

Thanks,
Bhadram.

-----Original Message-----
From: Giuseppe CAVALLARO [mailto:peppe.cavallaro@st.com] 
Sent: Thursday, November 23, 2017 11:58 AM
To: Bhadram Varka <vbhadram@nvidia.com>; Joao.Pinto@synopsys.com
Cc: linux-netdev <netdev@vger.kernel.org>
Subject: Re: NETDEV WATCHDOG: eth0 (dwc-eth-dwmac): transmit queue 1 timed out

Hi Bhadram

you said that  In normal ping scenario this is not observed, I wonder if you could try for example, ping with -s 1400. In that case, if still fail I think the issue could be the FIFO tuning and I expect overflow on RX MMC counters.

Let me know
Regards,
Peppe

On 11/20/2017 3:22 PM, Bhadram Varka wrote:
> Hi Giuseppe,
>
> Thanks for responding.
>
> Actually I am using net-next tree for making the changes. Below patches already present in code base.
>
> a0daae1 net: stmmac: Disable flow ctrl for RX AVB queues and really 
> enable TX AVB queues
> 52a7623 net: stmmac: Use correct values in TQS/RQS fields
>
> Thanks,
> Bhadram.
>
> -----Original Message-----
> From: Giuseppe CAVALLARO [mailto:peppe.cavallaro@st.com]
> Sent: Monday, November 20, 2017 6:37 PM
> To: Bhadram Varka <vbhadram@nvidia.com>; Joao.Pinto@synopsys.com
> Cc: linux-netdev <netdev@vger.kernel.org>
> Subject: Re: NETDEV WATCHDOG: eth0 (dwc-eth-dwmac): transmit queue 1 
> timed out
>
> Hello Bhadram
>
> there are some new patches actually in net/net-next repo that you should have; for example:
>
>      [PATCH net-next v2 0/2] net: stmmac: Improvements for 
> multi-queuing and for AVB
>
> Let me know if these help you.
>
> Regards
> Peppe
>
> On 11/20/2017 7:38 AM, Bhadram Varka wrote:
>> Hi Joao/Peppe,
>>
>> Observed this issue more frequently with multi-channel case. Am I missing something in DT ?
>> Please help here to understand the issue.
>>
>> Thanks,
>> Bhadram
>>
>> -----Original Message-----
>> From: Bhadram Varka
>> Sent: Thursday, November 16, 2017 9:41 AM
>> To: linux-netdev <netdev@vger.kernel.org>
>> Subject: NETDEV WATCHDOG: eth0 (dwc-eth-dwmac): transmit queue 1 
>> timed out
>>
>> Hi,
>>
>> I am trying to enable multi-queue in Tegra186 EQOS (which has support for 4 channels). Observed below netdev watchdog warning. Its easily reproable with iperf test.
>> In normal ping scenario this is not observed. I did not observe any issue if we disable TSO. Looks like issue in stmmac_tso_xmit() in multi-channel scenario.
>>
>> [   88.801672] NETDEV WATCHDOG: eth0 (dwc-eth-dwmac): transmit queue 0 timed out
>> [   88.808818] ------------[ cut here ]------------
>> [   88.813435] WARNING: CPU: 5 PID: 0 at net/sched/sch_generic.c:320 dev_watchdog+0x2cc/0x2d8
>> [   88.821681] Modules linked in: dwmac_dwc_qos_eth stmmac_platform crc32_ce crct10dif_ce stmmac ip_tables x_tables ipv6
>> [   88.832290] CPU: 5 PID: 0 Comm: swapper/5 Tainted: G S              4.14.0-rc7-01956-g9395db5-dirty #21
>> [   88.841663] Hardware name: NVIDIA Tegra186 P2771-0000 Development Board (DT)
>> [   88.848697] task: ffff8001ec8fd400 task.stack: ffff000009e38000
>> [   88.854606] PC is at dev_watchdog+0x2cc/0x2d8
>> [   88.858952] LR is at dev_watchdog+0x2cc/0x2d8
>> [   88.863300] pc : [<ffff00000894a76c>] lr : [<ffff00000894a76c>] pstate: 20000145
>> [   88.870678] sp : ffff00000802bd80
>> [   88.873983] x29: ffff00000802bd80 x28: 00000000000000a0
>> [   88.879287] x27: 00000000ffffffff x26: ffff8001eae2c3b0
>> [   88.884589] x25: 0000000000000005 x24: ffff8001ecb6be80
>> [   88.889891] x23: ffff8001eae2c39c x22: ffff8001eae2bfb0
>> [   88.895192] x21: ffff8001eae2c000 x20: ffff000008fe7000
>> [   88.900493] x19: 0000000000000001 x18: 0000000000000010
>> [   88.905795] x17: 0000000000000000 x16: 0000000000000000
>> [   88.911098] x15: ffffffffffffffff x14: 756f2064656d6974
>> [   88.916399] x13: 2031206575657571 x12: ffff000008fe9df0
>> [   88.921699] x11: ffff000008586180 x10: 642d6874652d6377
>> [   88.927000] x9 : 0000000000000016 x8 : 3a474f4448435441
>> [   88.932301] x7 : 572056454454454e x6 : 000000000000014f
>> [   88.937602] x5 : 0000000000000020 x4 : 0000000000000000
>> [   88.942902] x3 : 0000000000000000 x2 : ffff000008fec4c0
>> [   88.948203] x1 : ffff8001ec8fd400 x0 : 0000000000000041
>> [   88.953504] Call trace:
>> [   88.955944] Exception stack(0xffff00000802bc40 to 0xffff00000802bd80)
>> [   88.962371] bc40: 0000000000000041 ffff8001ec8fd400 ffff000008fec4c0 0000000000000000
>> [   88.970184] bc60: 0000000000000000 0000000000000020 000000000000014f 572056454454454e
>> [   88.977998] bc80: 3a474f4448435441 0000000000000016 642d6874652d6377 ffff000008586180
>> [   88.985811] bca0: ffff000008fe9df0 2031206575657571 756f2064656d6974 ffffffffffffffff
>> [   88.993624] bcc0: 0000000000000000 0000000000000000 0000000000000010 0000000000000001
>> [   89.001439] bce0: ffff000008fe7000 ffff8001eae2c000 ffff8001eae2bfb0 ffff8001eae2c39c
>> [   89.009252] bd00: ffff8001ecb6be80 0000000000000005 ffff8001eae2c3b0 00000000ffffffff
>> [   89.017065] bd20: 00000000000000a0 ffff00000802bd80 ffff00000894a76c ffff00000802bd80
>> [   89.024879] bd40: ffff00000894a76c 0000000020000145 ffff000000b67570 0000000000000001
>> [   89.032693] bd60: 0001000000000000 ffff8001ecb6b200 ffff00000802bd80 ffff00000894a76c
>> [   89.040508] [<ffff00000894a76c>] dev_watchdog+0x2cc/0x2d8
>> [   89.045900] [<ffff000008130d1c>] call_timer_fn.isra.5+0x24/0x80
>> [   89.051809] [<ffff000008130e1c>] expire_timers+0xa4/0xb0
>> [   89.057111] [<ffff000008130f68>] run_timer_softirq+0x140/0x170
>> [   89.062933] [<ffff00000808196c>] __do_softirq+0x12c/0x228
>> [   89.068323] [<ffff0000080ce180>] irq_exit+0xd0/0x108
>> [   89.073278] [<ffff00000811a180>] __handle_domain_irq+0x60/0xb8
>> [   89.079098] [<ffff000008081670>] gic_handle_irq+0x58/0xa8
>> [   89.084484] Exception stack(0xffff000009e3be20 to 0xffff000009e3bf60)
>> [   89.090910] be20: 0000000000000000 0000000000000000 0000000000000001 0000000000000000
>> [   89.098724] be40: 0000000000000000 ffff000009e3bf60 00008001ecffd000 0000000000000001
>> [   89.106537] be60: 0000000000000002 ffff000009e3bee0 0000000000000a00 0000000000000000
>> [   89.114351] be80: 0000000000000001 0000000000000000 001c3dfbd9959589 00001daf5b7a4860
>> [   89.122164] bea0: ffff00000825b000 0000000000000000 0000ffffc0311284 ffff000008fc5000
>> [   89.129978] bec0: ffff000008fe9000 ffff000008fe9000 ffff000008fd04a0 ffff000008fe9e90
>> [   89.137792] bee0: 0000000000000000 0000000000000000 ffff8001ec8fd400 0000000000000000
>> [   89.145605] bf00: 0000000000000000 ffff000009e3bf60 ffff00000808548c ffff000009e3bf60
>> [   89.153418] bf20: ffff000008085490 0000000000000145 0000000000000000 0000000000000000
>> [   89.161231] bf40: ffffffffffffffff ffff0000081409c4 ffff000009e3bf60 ffff000008085490
>> [   89.169044] [<ffff0000080830f0>] el1_irq+0xb0/0x124
>> [   89.173912] [<ffff000008085490>] arch_cpu_idle+0x10/0x18
>> [   89.179213] [<ffff000008105f10>] do_idle+0x120/0x1e0
>> [   89.184166] [<ffff00000810616c>] cpu_startup_entry+0x24/0x28
>> [   89.189814] [<ffff00000808f1c8>] secondary_start_kernel+0x110/0x120
>> [   89.196067] ---[ end trace 039d403d63546b77 ]---
>>    
>> Below are the DT changes -
>>
>> diff --git a/arch/arm64/boot/dts/nvidia/tegra186.dtsi
>> b/arch/arm64/boot/dts/nvidia/tegra186.dtsi
>> index 0b0552c..ffe1b80 100644
>> --- a/arch/arm64/boot/dts/nvidia/tegra186.dtsi
>> +++ b/arch/arm64/boot/dts/nvidia/tegra186.dtsi
>> @@ -27,21 +27,40 @@
>>                   #gpio-cells = <2>;
>>                   gpio-controller;
>>           };
>> +
>> +       mtl_tx_setup: tx-queues-config {
>> +               snps,tx-queues-to-use = <0x4>;
>> +               snps,tx-sched-sp;
>> +               queue0 {
>> +                       snps,weight = <0x10>;
>> +                       snps,dcb-algorithm;
>> +                       snps,priority = <0x0>;
>> +               };
>> +               queue1 {
>> +                       snps,avb-algorithm;
>> +                       snps,send_slope = <0x1000>;
>> +                       snps,idle_slope = <0x1000>;
>> +                       snps,high_credit = <0x3E800>;
>> +                       snps,low_credit = <0xFFC18000>;
>> +                       snps,priority = <0x1>;
>> +               };
>> +       };
>> +
>> +       mtl_rx_setup: rx-queues-config {
>> +               snps,rx-queues-to-use = <0x4>;
>> +               snps,rx-sched-sp;
>> +               queue0 {
>> +                       snps,dcb-algorithm;
>> +                       snps,map-to-dma-channel = <0x0>;
>> +                       snps,priority = <0x0>;
>> +               };
>> +       };
>>          ethernet@2490000 {
>>                   compatible = "nvidia,tegra186-eqos",
>>                                "snps,dwc-qos-ethernet-4.10";
>>                   reg = <0x0 0x02490000 0x0 0x10000>; @@ -57,6 +76,10 @@
>>                   snps,burst-map = <0x7>;
>>                   snps,txpbl = <32>;
>>                   snps,rxpbl = <8>;
>> +
>> +               snps,mtl-tx-config = <&mtl_tx_setup>;
>> +               snps,mtl-rx-config = <&mtl_rx_setup>;
>>
> ----------------------------------------------------------------------
> ------------- This email message is for the sole use of the intended 
> recipient(s) and may contain confidential information.  Any 
> unauthorized review, use, disclosure or distribution is prohibited.  
> If you are not the intended recipient, please contact the sender by 
> reply email and destroy all copies of the original message.
> ----------------------------------------------------------------------
> -------------
>

^ permalink raw reply	[flat|nested] 9+ messages in thread

* RE: NETDEV WATCHDOG: eth0 (dwc-eth-dwmac): transmit queue 1 timed out
  2017-12-01 15:34   ` Lars P (Mailing List Account)
@ 2017-12-01 15:49     ` Bhadram Varka
  0 siblings, 0 replies; 9+ messages in thread
From: Bhadram Varka @ 2017-12-01 15:49 UTC (permalink / raw)
  To: Lars P (Mailing List Account); +Cc: Joao.Pinto, peppe.cavallaro, linux-netdev

Hi Lars,

> -----Original Message-----
> From: netdev-owner@vger.kernel.org [mailto:netdev-
> owner@vger.kernel.org] On Behalf Of Lars P (Mailing List Account)
> Sent: Friday, December 01, 2017 9:05 PM
> To: Bhadram Varka <vbhadram@nvidia.com>
> Cc: Joao.Pinto@synopsys.com; peppe.cavallaro@st.com; linux-netdev
> <netdev@vger.kernel.org>
> Subject: Re: NETDEV WATCHDOG: eth0 (dwc-eth-dwmac): transmit queue 1
> timed out
> 
> Hi Bhadram,
> 
> Does the Tegra by any chance have TSO enabled on multiple TX-DMA
> channels ?

Yes. TSO enabled for multiple TX DMA channels.

> I recently noticed a second TSO bug in the stmmac while making the patch
> "stmmac: reset last TSO segment size after device open".
> 
> The last-used MSS setting in TSO is tracked as a device-global variable and not
> per TX queue. Using TSO on tx queue 0 will record mss to priv->mss and if we
> later use TSO on tx queue 1 with the same gso_size then the driver will not
> use a context descriptor to set the MSS size for this queue. This probably
> means that the TSO controller in channel 1 goes nuts with an undefined mss
> setting.

I believe it would be better we can make the MSS on per queue basis instead of getting through global variable.

Thanks,
Bhadram.
> BR,
>  Lars Persson
> 
> On Mon, Nov 20, 2017 at 7:38 AM, Bhadram Varka <vbhadram@nvidia.com>
> wrote:
> > Hi Joao/Peppe,
> >
> > Observed this issue more frequently with multi-channel case. Am I missing
> something in DT ?
> > Please help here to understand the issue.
> >
> > Thanks,
> > Bhadram
> >
> > -----Original Message-----
> > From: Bhadram Varka
> > Sent: Thursday, November 16, 2017 9:41 AM
> > To: linux-netdev <netdev@vger.kernel.org>
> > Subject: NETDEV WATCHDOG: eth0 (dwc-eth-dwmac): transmit queue 1
> timed
> > out
> >
> > Hi,
> >
> > I am trying to enable multi-queue in Tegra186 EQOS (which has support for
> 4 channels). Observed below netdev watchdog warning. Its easily reproable
> with iperf test.
> > In normal ping scenario this is not observed. I did not observe any issue if
> we disable TSO. Looks like issue in stmmac_tso_xmit() in multi-channel
> scenario.
> >

-----------------------------------------------------------------------------------
This email message is for the sole use of the intended recipient(s) and may contain
confidential information.  Any unauthorized review, use, disclosure or distribution
is prohibited.  If you are not the intended recipient, please contact the sender by
reply email and destroy all copies of the original message.
-----------------------------------------------------------------------------------

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: NETDEV WATCHDOG: eth0 (dwc-eth-dwmac): transmit queue 1 timed out
  2017-12-01 15:39         ` Bhadram Varka
@ 2017-12-02 13:19           ` Giuseppe CAVALLARO
  0 siblings, 0 replies; 9+ messages in thread
From: Giuseppe CAVALLARO @ 2017-12-02 13:19 UTC (permalink / raw)
  To: Bhadram Varka, Joao.Pinto; +Cc: linux-netdev

Ok Bhadram

thx for this check, I was afraid that the HW FIFO had some issues.

Best Regards
Peppe

On 12/1/2017 4:39 PM, Bhadram Varka wrote:
> Hi Giuseppe,
>
> I don't see any issue with if we execute "ping -s 1400" case. I believe in this case TSO not triggered.
>
> Thanks,
> Bhadram.
>
> -----Original Message-----
> From: Giuseppe CAVALLARO [mailto:peppe.cavallaro@st.com]
> Sent: Thursday, November 23, 2017 11:58 AM
> To: Bhadram Varka <vbhadram@nvidia.com>; Joao.Pinto@synopsys.com
> Cc: linux-netdev <netdev@vger.kernel.org>
> Subject: Re: NETDEV WATCHDOG: eth0 (dwc-eth-dwmac): transmit queue 1 timed out
>
> Hi Bhadram
>
> you said that  In normal ping scenario this is not observed, I wonder if you could try for example, ping with -s 1400. In that case, if still fail I think the issue could be the FIFO tuning and I expect overflow on RX MMC counters.
>
> Let me know
> Regards,
> Peppe
>
> On 11/20/2017 3:22 PM, Bhadram Varka wrote:
>> Hi Giuseppe,
>>
>> Thanks for responding.
>>
>> Actually I am using net-next tree for making the changes. Below patches already present in code base.
>>
>> a0daae1 net: stmmac: Disable flow ctrl for RX AVB queues and really
>> enable TX AVB queues
>> 52a7623 net: stmmac: Use correct values in TQS/RQS fields
>>
>> Thanks,
>> Bhadram.
>>
>> -----Original Message-----
>> From: Giuseppe CAVALLARO [mailto:peppe.cavallaro@st.com]
>> Sent: Monday, November 20, 2017 6:37 PM
>> To: Bhadram Varka <vbhadram@nvidia.com>; Joao.Pinto@synopsys.com
>> Cc: linux-netdev <netdev@vger.kernel.org>
>> Subject: Re: NETDEV WATCHDOG: eth0 (dwc-eth-dwmac): transmit queue 1
>> timed out
>>
>> Hello Bhadram
>>
>> there are some new patches actually in net/net-next repo that you should have; for example:
>>
>>       [PATCH net-next v2 0/2] net: stmmac: Improvements for
>> multi-queuing and for AVB
>>
>> Let me know if these help you.
>>
>> Regards
>> Peppe
>>
>> On 11/20/2017 7:38 AM, Bhadram Varka wrote:
>>> Hi Joao/Peppe,
>>>
>>> Observed this issue more frequently with multi-channel case. Am I missing something in DT ?
>>> Please help here to understand the issue.
>>>
>>> Thanks,
>>> Bhadram
>>>
>>> -----Original Message-----
>>> From: Bhadram Varka
>>> Sent: Thursday, November 16, 2017 9:41 AM
>>> To: linux-netdev <netdev@vger.kernel.org>
>>> Subject: NETDEV WATCHDOG: eth0 (dwc-eth-dwmac): transmit queue 1
>>> timed out
>>>
>>> Hi,
>>>
>>> I am trying to enable multi-queue in Tegra186 EQOS (which has support for 4 channels). Observed below netdev watchdog warning. Its easily reproable with iperf test.
>>> In normal ping scenario this is not observed. I did not observe any issue if we disable TSO. Looks like issue in stmmac_tso_xmit() in multi-channel scenario.
>>>
>>> [   88.801672] NETDEV WATCHDOG: eth0 (dwc-eth-dwmac): transmit queue 0 timed out
>>> [   88.808818] ------------[ cut here ]------------
>>> [   88.813435] WARNING: CPU: 5 PID: 0 at net/sched/sch_generic.c:320 dev_watchdog+0x2cc/0x2d8
>>> [   88.821681] Modules linked in: dwmac_dwc_qos_eth stmmac_platform crc32_ce crct10dif_ce stmmac ip_tables x_tables ipv6
>>> [   88.832290] CPU: 5 PID: 0 Comm: swapper/5 Tainted: G S              4.14.0-rc7-01956-g9395db5-dirty #21
>>> [   88.841663] Hardware name: NVIDIA Tegra186 P2771-0000 Development Board (DT)
>>> [   88.848697] task: ffff8001ec8fd400 task.stack: ffff000009e38000
>>> [   88.854606] PC is at dev_watchdog+0x2cc/0x2d8
>>> [   88.858952] LR is at dev_watchdog+0x2cc/0x2d8
>>> [   88.863300] pc : [<ffff00000894a76c>] lr : [<ffff00000894a76c>] pstate: 20000145
>>> [   88.870678] sp : ffff00000802bd80
>>> [   88.873983] x29: ffff00000802bd80 x28: 00000000000000a0
>>> [   88.879287] x27: 00000000ffffffff x26: ffff8001eae2c3b0
>>> [   88.884589] x25: 0000000000000005 x24: ffff8001ecb6be80
>>> [   88.889891] x23: ffff8001eae2c39c x22: ffff8001eae2bfb0
>>> [   88.895192] x21: ffff8001eae2c000 x20: ffff000008fe7000
>>> [   88.900493] x19: 0000000000000001 x18: 0000000000000010
>>> [   88.905795] x17: 0000000000000000 x16: 0000000000000000
>>> [   88.911098] x15: ffffffffffffffff x14: 756f2064656d6974
>>> [   88.916399] x13: 2031206575657571 x12: ffff000008fe9df0
>>> [   88.921699] x11: ffff000008586180 x10: 642d6874652d6377
>>> [   88.927000] x9 : 0000000000000016 x8 : 3a474f4448435441
>>> [   88.932301] x7 : 572056454454454e x6 : 000000000000014f
>>> [   88.937602] x5 : 0000000000000020 x4 : 0000000000000000
>>> [   88.942902] x3 : 0000000000000000 x2 : ffff000008fec4c0
>>> [   88.948203] x1 : ffff8001ec8fd400 x0 : 0000000000000041
>>> [   88.953504] Call trace:
>>> [   88.955944] Exception stack(0xffff00000802bc40 to 0xffff00000802bd80)
>>> [   88.962371] bc40: 0000000000000041 ffff8001ec8fd400 ffff000008fec4c0 0000000000000000
>>> [   88.970184] bc60: 0000000000000000 0000000000000020 000000000000014f 572056454454454e
>>> [   88.977998] bc80: 3a474f4448435441 0000000000000016 642d6874652d6377 ffff000008586180
>>> [   88.985811] bca0: ffff000008fe9df0 2031206575657571 756f2064656d6974 ffffffffffffffff
>>> [   88.993624] bcc0: 0000000000000000 0000000000000000 0000000000000010 0000000000000001
>>> [   89.001439] bce0: ffff000008fe7000 ffff8001eae2c000 ffff8001eae2bfb0 ffff8001eae2c39c
>>> [   89.009252] bd00: ffff8001ecb6be80 0000000000000005 ffff8001eae2c3b0 00000000ffffffff
>>> [   89.017065] bd20: 00000000000000a0 ffff00000802bd80 ffff00000894a76c ffff00000802bd80
>>> [   89.024879] bd40: ffff00000894a76c 0000000020000145 ffff000000b67570 0000000000000001
>>> [   89.032693] bd60: 0001000000000000 ffff8001ecb6b200 ffff00000802bd80 ffff00000894a76c
>>> [   89.040508] [<ffff00000894a76c>] dev_watchdog+0x2cc/0x2d8
>>> [   89.045900] [<ffff000008130d1c>] call_timer_fn.isra.5+0x24/0x80
>>> [   89.051809] [<ffff000008130e1c>] expire_timers+0xa4/0xb0
>>> [   89.057111] [<ffff000008130f68>] run_timer_softirq+0x140/0x170
>>> [   89.062933] [<ffff00000808196c>] __do_softirq+0x12c/0x228
>>> [   89.068323] [<ffff0000080ce180>] irq_exit+0xd0/0x108
>>> [   89.073278] [<ffff00000811a180>] __handle_domain_irq+0x60/0xb8
>>> [   89.079098] [<ffff000008081670>] gic_handle_irq+0x58/0xa8
>>> [   89.084484] Exception stack(0xffff000009e3be20 to 0xffff000009e3bf60)
>>> [   89.090910] be20: 0000000000000000 0000000000000000 0000000000000001 0000000000000000
>>> [   89.098724] be40: 0000000000000000 ffff000009e3bf60 00008001ecffd000 0000000000000001
>>> [   89.106537] be60: 0000000000000002 ffff000009e3bee0 0000000000000a00 0000000000000000
>>> [   89.114351] be80: 0000000000000001 0000000000000000 001c3dfbd9959589 00001daf5b7a4860
>>> [   89.122164] bea0: ffff00000825b000 0000000000000000 0000ffffc0311284 ffff000008fc5000
>>> [   89.129978] bec0: ffff000008fe9000 ffff000008fe9000 ffff000008fd04a0 ffff000008fe9e90
>>> [   89.137792] bee0: 0000000000000000 0000000000000000 ffff8001ec8fd400 0000000000000000
>>> [   89.145605] bf00: 0000000000000000 ffff000009e3bf60 ffff00000808548c ffff000009e3bf60
>>> [   89.153418] bf20: ffff000008085490 0000000000000145 0000000000000000 0000000000000000
>>> [   89.161231] bf40: ffffffffffffffff ffff0000081409c4 ffff000009e3bf60 ffff000008085490
>>> [   89.169044] [<ffff0000080830f0>] el1_irq+0xb0/0x124
>>> [   89.173912] [<ffff000008085490>] arch_cpu_idle+0x10/0x18
>>> [   89.179213] [<ffff000008105f10>] do_idle+0x120/0x1e0
>>> [   89.184166] [<ffff00000810616c>] cpu_startup_entry+0x24/0x28
>>> [   89.189814] [<ffff00000808f1c8>] secondary_start_kernel+0x110/0x120
>>> [   89.196067] ---[ end trace 039d403d63546b77 ]---
>>>     
>>> Below are the DT changes -
>>>
>>> diff --git a/arch/arm64/boot/dts/nvidia/tegra186.dtsi
>>> b/arch/arm64/boot/dts/nvidia/tegra186.dtsi
>>> index 0b0552c..ffe1b80 100644
>>> --- a/arch/arm64/boot/dts/nvidia/tegra186.dtsi
>>> +++ b/arch/arm64/boot/dts/nvidia/tegra186.dtsi
>>> @@ -27,21 +27,40 @@
>>>                    #gpio-cells = <2>;
>>>                    gpio-controller;
>>>            };
>>> +
>>> +       mtl_tx_setup: tx-queues-config {
>>> +               snps,tx-queues-to-use = <0x4>;
>>> +               snps,tx-sched-sp;
>>> +               queue0 {
>>> +                       snps,weight = <0x10>;
>>> +                       snps,dcb-algorithm;
>>> +                       snps,priority = <0x0>;
>>> +               };
>>> +               queue1 {
>>> +                       snps,avb-algorithm;
>>> +                       snps,send_slope = <0x1000>;
>>> +                       snps,idle_slope = <0x1000>;
>>> +                       snps,high_credit = <0x3E800>;
>>> +                       snps,low_credit = <0xFFC18000>;
>>> +                       snps,priority = <0x1>;
>>> +               };
>>> +       };
>>> +
>>> +       mtl_rx_setup: rx-queues-config {
>>> +               snps,rx-queues-to-use = <0x4>;
>>> +               snps,rx-sched-sp;
>>> +               queue0 {
>>> +                       snps,dcb-algorithm;
>>> +                       snps,map-to-dma-channel = <0x0>;
>>> +                       snps,priority = <0x0>;
>>> +               };
>>> +       };
>>>           ethernet@2490000 {
>>>                    compatible = "nvidia,tegra186-eqos",
>>>                                 "snps,dwc-qos-ethernet-4.10";
>>>                    reg = <0x0 0x02490000 0x0 0x10000>; @@ -57,6 +76,10 @@
>>>                    snps,burst-map = <0x7>;
>>>                    snps,txpbl = <32>;
>>>                    snps,rxpbl = <8>;
>>> +
>>> +               snps,mtl-tx-config = <&mtl_tx_setup>;
>>> +               snps,mtl-rx-config = <&mtl_rx_setup>;
>>>
>> ----------------------------------------------------------------------
>> ------------- This email message is for the sole use of the intended
>> recipient(s) and may contain confidential information.  Any
>> unauthorized review, use, disclosure or distribution is prohibited.
>> If you are not the intended recipient, please contact the sender by
>> reply email and destroy all copies of the original message.
>> ----------------------------------------------------------------------
>> -------------
>>
>

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2017-12-02 13:19 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-11-16  4:11 NETDEV WATCHDOG: eth0 (dwc-eth-dwmac): transmit queue 1 timed out Bhadram Varka
2017-11-20  6:38 ` Bhadram Varka
2017-11-20 13:06   ` Giuseppe CAVALLARO
2017-11-20 14:22     ` Bhadram Varka
2017-11-23  6:27       ` Giuseppe CAVALLARO
2017-12-01 15:39         ` Bhadram Varka
2017-12-02 13:19           ` Giuseppe CAVALLARO
2017-12-01 15:34   ` Lars P (Mailing List Account)
2017-12-01 15:49     ` Bhadram Varka

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.