git: 832b8e986c68 - main - LinuxKPI: 802.11: increase mbufq lengths
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Mon, 14 Apr 2025 14:07:42 UTC
The branch main has been updated by bz:
URL: https://cgit.FreeBSD.org/src/commit/?id=832b8e986c68a43ecf2d6b4af805aaf37087f7d9
commit 832b8e986c68a43ecf2d6b4af805aaf37087f7d9
Author: Bjoern A. Zeeb <bz@FreeBSD.org>
AuthorDate: 2025-04-13 20:57:13 +0000
Commit: Bjoern A. Zeeb <bz@FreeBSD.org>
CommitDate: 2025-04-14 14:06:50 +0000
LinuxKPI: 802.11: increase mbufq lengths
Increase the mbufq lengths we use in the RX and TX path to decouple
the lower and upper parts (currently using taskqs which likely need
to be replaced as well now -- was asked not to add more sophisticated
concepts 2-ish years ago).
The old values of IFQ_MAXLEN (50) are a tad too small so bump them
to 32 * NAPI_POLL_WEIGHT (32 * 64) which seems to be mostly enough
now not to drop mbufs anymore (by not overflowing the queues).
As a side effect TCP became a lot happier as well growing throughput
towards where UDP is already. There is more fish to fry but we
are also doing ~750 Mbits/sec TX and 400 Mbit/s RX TCP at VHT160 now.
Sponsored by: The FreeBSD Foundation
MFC after: 3 days
---
sys/compat/linuxkpi/common/src/linux_80211.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/sys/compat/linuxkpi/common/src/linux_80211.c b/sys/compat/linuxkpi/common/src/linux_80211.c
index 34b2a3a2f8f9..29f4a95f0336 100644
--- a/sys/compat/linuxkpi/common/src/linux_80211.c
+++ b/sys/compat/linuxkpi/common/src/linux_80211.c
@@ -786,7 +786,7 @@ lkpi_lsta_alloc(struct ieee80211vap *vap, const uint8_t mac[IEEE80211_ADDR_LEN],
/* Deferred TX path. */
LKPI_80211_LSTA_TXQ_LOCK_INIT(lsta);
TASK_INIT(&lsta->txq_task, 0, lkpi_80211_txq_task, lsta);
- mbufq_init(&lsta->txq, IFQ_MAXLEN);
+ mbufq_init(&lsta->txq, 32 * NAPI_POLL_WEIGHT);
lsta->txq_ready = true;
return (lsta);
@@ -5599,7 +5599,7 @@ linuxkpi_ieee80211_alloc_hw(size_t priv_len, const struct ieee80211_ops *ops)
/* Deferred RX path. */
LKPI_80211_LHW_RXQ_LOCK_INIT(lhw);
TASK_INIT(&lhw->rxq_task, 0, lkpi_80211_lhw_rxq_task, lhw);
- mbufq_init(&lhw->rxq, IFQ_MAXLEN);
+ mbufq_init(&lhw->rxq, 32 * NAPI_POLL_WEIGHT);
lhw->rxq_stopped = false;
/*