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; /*