git: 6869d0856230 - stable/14 - LinuxKPI: 802.11: increase mbufq lengths
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Fri, 18 Apr 2025 14:37:24 UTC
The branch stable/14 has been updated by bz:
URL: https://cgit.FreeBSD.org/src/commit/?id=6869d08562309043460a00c30d28d33a71b772aa
commit 6869d08562309043460a00c30d28d33a71b772aa
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-18 14:36:02 +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
(cherry picked from commit 832b8e986c68a43ecf2d6b4af805aaf37087f7d9)
---
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 4c1d20c7b469..a5f22046b55c 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);
@@ -5572,7 +5572,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;
/*