git: 6869d0856230 - stable/14 - LinuxKPI: 802.11: increase mbufq lengths

From: Bjoern A. Zeeb <bz_at_FreeBSD.org>
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;
 
 	/*