* [PATCH] net: ftgmac100: Enable TX interrupt to avoid TX timeout
@ 2024-09-04 10:31 Jacky Chou
2024-09-05 20:50 ` Andrew Lunn
2024-09-05 21:47 ` Jakub Kicinski
0 siblings, 2 replies; 4+ messages in thread
From: Jacky Chou @ 2024-09-04 10:31 UTC (permalink / raw)
To: davem, edumazet, kuba, pabeni, jacky_chou, netdev, linux-kernel
Currently, the driver only enables RX interrupt to handle RX
packets and TX resources. Sometimes there is not RX traffic,
so the TX resource needs to wait for RX interrupt to free.
This situation will toggle the TX timeout watchdog when the MAC
TX ring has no more resources to transmit packets.
Therefore, enable TX interrupt to release TX resources at any time.
Signed-off-by: Jacky Chou <jacky_chou@aspeedtech.com>
---
drivers/net/ethernet/faraday/ftgmac100.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/net/ethernet/faraday/ftgmac100.h b/drivers/net/ethernet/faraday/ftgmac100.h
index 63b3e02fab16..4968f6f0bdbc 100644
--- a/drivers/net/ethernet/faraday/ftgmac100.h
+++ b/drivers/net/ethernet/faraday/ftgmac100.h
@@ -84,7 +84,7 @@
FTGMAC100_INT_RPKT_BUF)
/* All the interrupts we care about */
-#define FTGMAC100_INT_ALL (FTGMAC100_INT_RPKT_BUF | \
+#define FTGMAC100_INT_ALL (FTGMAC100_INT_RXTX | \
FTGMAC100_INT_BAD)
/*
--
2.25.1
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH] net: ftgmac100: Enable TX interrupt to avoid TX timeout
2024-09-04 10:31 [PATCH] net: ftgmac100: Enable TX interrupt to avoid TX timeout Jacky Chou
@ 2024-09-05 20:50 ` Andrew Lunn
[not found] ` <SEYPR06MB51345FBC0146F1517B36584B9D9E2@SEYPR06MB5134.apcprd06.prod.outlook.com>
2024-09-05 21:47 ` Jakub Kicinski
1 sibling, 1 reply; 4+ messages in thread
From: Andrew Lunn @ 2024-09-05 20:50 UTC (permalink / raw)
To: Jacky Chou; +Cc: davem, edumazet, kuba, pabeni, netdev, linux-kernel
On Wed, Sep 04, 2024 at 06:31:16PM +0800, Jacky Chou wrote:
> Currently, the driver only enables RX interrupt to handle RX
> packets and TX resources. Sometimes there is not RX traffic,
> so the TX resource needs to wait for RX interrupt to free.
> This situation will toggle the TX timeout watchdog when the MAC
> TX ring has no more resources to transmit packets.
> Therefore, enable TX interrupt to release TX resources at any time.
This looks reasonable. FTGMAC100_INT_ALL is used when NAPI polling is
not being used, so the extra interrupts should not cause additional
load.
Is this a fix? How easy is it to trigger the issue?
Andrew
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] net: ftgmac100: Enable TX interrupt to avoid TX timeout
2024-09-04 10:31 [PATCH] net: ftgmac100: Enable TX interrupt to avoid TX timeout Jacky Chou
2024-09-05 20:50 ` Andrew Lunn
@ 2024-09-05 21:47 ` Jakub Kicinski
1 sibling, 0 replies; 4+ messages in thread
From: Jakub Kicinski @ 2024-09-05 21:47 UTC (permalink / raw)
To: Jacky Chou; +Cc: davem, edumazet, pabeni, netdev, linux-kernel
On Wed, 4 Sep 2024 18:31:16 +0800 Jacky Chou wrote:
> Currently, the driver only enables RX interrupt to handle RX
> packets and TX resources. Sometimes there is not RX traffic,
> so the TX resource needs to wait for RX interrupt to free.
> This situation will toggle the TX timeout watchdog when the MAC
> TX ring has no more resources to transmit packets.
> Therefore, enable TX interrupt to release TX resources at any time.
Please answer Andrew's question (preferably send a v2 with the answer
as part of the commit message). Add a fixes tag, I think this is where
the bug was added?
Fixes: 10cbd6407609 ("ftgmac100: Rework NAPI & interrupts handling")
And when you send v2, please make sure to CC the author (Benjamin).
--
pw-bot: cr
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: 回覆: [PATCH] net: ftgmac100: Enable TX interrupt to avoid TX timeout
[not found] ` <SEYPR06MB51345FBC0146F1517B36584B9D9E2@SEYPR06MB5134.apcprd06.prod.outlook.com>
@ 2024-09-06 11:48 ` Andrew Lunn
0 siblings, 0 replies; 4+ messages in thread
From: Andrew Lunn @ 2024-09-06 11:48 UTC (permalink / raw)
To: Jacky Chou
Cc: davem@davemloft.net, edumazet@google.com, kuba@kernel.org,
pabeni@redhat.com, netdev@vger.kernel.org,
linux-kernel@vger.kernel.org
On Fri, Sep 06, 2024 at 01:57:56AM +0000, Jacky Chou wrote:
> Hello,
>
> When I am verifying iperf3 over UDP, the network hangs.
> Like the log below.
>
> root# iperf3 -c 192.168.100.100 -i1 -t10 -u -b0
> Connecting to host 192.168.100.100, port 5201
> [ 4] local 192.168.100.101 port 35773 connected to 192.168.100.100 port 5201
> [ ID] Interval Transfer Bandwidth Total Datagrams
> [ 4] 0.00-20.42 sec 160 KBytes 64.2 Kbits/sec 20
> [ 4] 20.42-20.42 sec 0.00 Bytes 0.00 bits/sec 0
> [ 4] 20.42-20.42 sec 0.00 Bytes 0.00 bits/sec 0
> [ 4] 20.42-20.42 sec 0.00 Bytes 0.00 bits/sec 0
> [ 4] 20.42-20.42 sec 0.00 Bytes 0.00 bits/sec 0
> [ 4] 20.42-20.42 sec 0.00 Bytes 0.00 bits/sec 0
> [ 4] 20.42-20.42 sec 0.00 Bytes 0.00 bits/sec 0
> [ 4] 20.42-20.42 sec 0.00 Bytes 0.00 bits/sec 0
> [ 4] 20.42-20.42 sec 0.00 Bytes 0.00 bits/sec 0
> [ 4] 20.42-20.42 sec 0.00 Bytes 0.00 bits/sec 0
> - - - - - - - - - - - - - - - - - - - - - - - - -
> [ ID] Interval Transfer Bandwidth Jitter Lost/Total
> Datagrams
> [ 4] 0.00-20.42 sec 160 KBytes 64.2 Kbits/sec 0.000 ms 0/20 (0%)
> [ 4] Sent 20 datagrams
> iperf3: error - the server has terminated The network topology is FTGMAC
> connects directly to a PC. UDP does not need to wait for ACK, unlike TCP.
> Therefore, FTGMAC needs to enable TX interrupt to release TX resources instead
> of waiting for the RX interrupt.
Please don't top post.
So this does seem like a fix. Please read through:
https://www.kernel.org/doc/html/latest/process/maintainer-netdev.html
You need a Fixes: tag, CC: stable tag, use the correct tree, etc.
Andrew
---
pw-bot: cr
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2024-09-06 11:48 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-09-04 10:31 [PATCH] net: ftgmac100: Enable TX interrupt to avoid TX timeout Jacky Chou
2024-09-05 20:50 ` Andrew Lunn
[not found] ` <SEYPR06MB51345FBC0146F1517B36584B9D9E2@SEYPR06MB5134.apcprd06.prod.outlook.com>
2024-09-06 11:48 ` 回覆: " Andrew Lunn
2024-09-05 21:47 ` Jakub Kicinski
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).