mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-23 15:32:33 +00:00
cafa8804a4
Add patch fixing regression from stmmac TX timer. Refer to the single patch for extensive details on the problem. This should restore original performance before 4.19 kernel. Fixes: #11676 Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
38 lines
1.5 KiB
Diff
38 lines
1.5 KiB
Diff
From 95281ab33fbaa1e974bceb20cfb0f5c92934f2b3 Mon Sep 17 00:00:00 2001
|
|
From: Christian Marangi <ansuelsmth@gmail.com>
|
|
Date: Mon, 18 Sep 2023 15:11:13 +0200
|
|
Subject: [PATCH 4/4] net: stmmac: increase TX coalesce timer to 5ms
|
|
|
|
Commit 8fce33317023 ("net: stmmac: Rework coalesce timer and fix
|
|
multi-queue races") decreased the TX coalesce timer from 40ms to 1ms.
|
|
|
|
This caused some performance regression on some target (regression was
|
|
reported at least on ipq806x) in the order of 600mbps dropping from
|
|
gigabit handling to only 200mbps.
|
|
|
|
The problem was identified in the TX timer getting armed too much time.
|
|
While this was fixed and improved in another commit, performance can be
|
|
improved even further by increasing the timer delay a bit moving from
|
|
1ms to 5ms.
|
|
|
|
The value is a good balance between battery saving by prevending too
|
|
much interrupt to be generated and permitting good performance for
|
|
internet oriented devices.
|
|
|
|
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
|
|
---
|
|
drivers/net/ethernet/stmicro/stmmac/common.h | 2 +-
|
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
|
|
--- a/drivers/net/ethernet/stmicro/stmmac/common.h
|
|
+++ b/drivers/net/ethernet/stmicro/stmmac/common.h
|
|
@@ -286,7 +286,7 @@ struct stmmac_safety_stats {
|
|
#define MIN_DMA_RIWT 0x10
|
|
#define DEF_DMA_RIWT 0xa0
|
|
/* Tx coalesce parameters */
|
|
-#define STMMAC_COAL_TX_TIMER 1000
|
|
+#define STMMAC_COAL_TX_TIMER 5000
|
|
#define STMMAC_MAX_COAL_TX_TICK 100000
|
|
#define STMMAC_TX_MAX_FRAMES 256
|
|
#define STMMAC_TX_FRAMES 25
|