From nobody Fri Apr 18 14:37:30 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZfHRH4BtDz5stfy; Fri, 18 Apr 2025 14:37:31 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZfHRG5Py7z3L9S; Fri, 18 Apr 2025 14:37:30 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744987050; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=CPlknZt52bYruezWdqT4TWTpuKh1yHDjb+RrjYjxCLw=; b=kWuqbrwzOCDBrQqRp92XPVCf1C8Dgkvpxrn5vcus1LjwNSDQFgFZVd/c6n5JPhSBQPa4bw Uiq+hH6u9bkBWDHmhOJJZnLxX+R1WKlP1MjFhKd3xn6wYCF9YrofVQ0owQFp6M0nu+/Rct RMn9ZYXCS9/m67RFHw1yalZ2gPgkBsGClHhahzCvVFpCDdhftN3866mn2VdTt/nVVFSTKZ /VOk3ygR5iYd0c8w6RHMemM0dYdN0l5o3Kl0T9OB72GcXKJjHWN7adKkDCzR+i7fKL11vD jwff2+sTJC7etW8a/u55QT104vI3ZV9uRekzWjQzgowhB3l8aeEyrbowbuYWyQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1744987050; a=rsa-sha256; cv=none; b=CRA4Ildr3JLsZIT9qTZhPCj5j3KsnN+s9XmLc/89Qf9ImjW1Js3K6wOlcvIrmj/OXExCQD ta5skSaFjZCte+bmAj/VFQcVFTDAUphqyuV6iJ+toeFQrP66rAHK136f5qUj4PHhek0HgD wQ6uEZ5yybN9RHQyYG+wuaYFNqW79oHfqJK0ZfN37NaH180Zr6/ngG3DLAidvhzIew/uEy HY0hNCB3HjxaNYQZEfmebBQ8yscmXl2ZR5NQtwn9fx7eQwsgvWVpEdGeP3wk3zznduV7mR 9uH6RbT62fYLuAMxxknI+WDzdshHk9qWKHRGXn+3enafQwD2WulxGoa+o2BL2g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1744987050; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=CPlknZt52bYruezWdqT4TWTpuKh1yHDjb+RrjYjxCLw=; b=ZACal+znMvTmpQfjyckZ73lyCiLel0FnmjwFbjT2CJWyZoRSxJlCGALJ6shWo+d/83Rr3d iUCvfZ2b2ymhLyGuepvOyhIZ4sktb23nLk4Dksde+mTbfBCftoI5iygU9Nf/9yxDiL/JL8 mJ0budnRmB7om6WrWPMw7cS5NOlUjg8dSqdvzWr/PENumfxKjPJkBwD5qsbHWgIKy+vMVf PE0S2IolbA3Q/lGkpdTQ9inff92m8LS0k9vNGuQMpOJ2ouMr9pmKtBVWtv/o+XMAYQMvv9 zGCEPnCUu0zXrzT32VFa37Z8sT/dxhNRaO98P1d6KdIlOlLL9Vcln97qvkVZkg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZfHRG51h9zfF3; Fri, 18 Apr 2025 14:37:30 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 53IEbUNF092398; Fri, 18 Apr 2025 14:37:30 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53IEbUgG092395; Fri, 18 Apr 2025 14:37:30 GMT (envelope-from git) Date: Fri, 18 Apr 2025 14:37:30 GMT Message-Id: <202504181437.53IEbUgG092395@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: f086acca042e - stable/14 - LinuxKPI: 802.11: avoid using an mbuf tag for now List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: f086acca042ecd91b636aa84f33db198a2e6a961 Auto-Submitted: auto-generated The branch stable/14 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=f086acca042ecd91b636aa84f33db198a2e6a961 commit f086acca042ecd91b636aa84f33db198a2e6a961 Author: Bjoern A. Zeeb AuthorDate: 2025-04-13 21:53:44 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-04-18 14:36:03 +0000 LinuxKPI: 802.11: avoid using an mbuf tag for now We are using an mbuf tag to carry the ni reference in the TX path from the TX function past the taskq along with the mbuf. Contrary to initial assumptions we only need the ni and no other data so attach the ni to m->m_pkthdr.PH_loc.ptr avoiding the extra allcation. Sponsored by: The FreeBSD Foundation (cherry picked from commit dbae3dcff72f53abe6874466baea78f552b3a316) --- sys/compat/linuxkpi/common/src/linux_80211.c | 22 ++++++++++++++++++++++ sys/compat/linuxkpi/common/src/linux_80211.h | 2 ++ 2 files changed, 24 insertions(+) diff --git a/sys/compat/linuxkpi/common/src/linux_80211.c b/sys/compat/linuxkpi/common/src/linux_80211.c index 98e0b28d9ef2..85c0945cb9d3 100644 --- a/sys/compat/linuxkpi/common/src/linux_80211.c +++ b/sys/compat/linuxkpi/common/src/linux_80211.c @@ -5650,6 +5650,7 @@ linuxkpi_ieee80211_iffree(struct ieee80211_hw *hw) /* Flush mbufq (make sure to release ni refs!). */ m = mbufq_dequeue(&lhw->rxq); while (m != NULL) { +#ifdef LKPI_80211_USE_MTAG struct m_tag *mtag; mtag = m_tag_locate(m, MTAG_ABI_LKPI80211, LKPI80211_TAG_RXNI, NULL); @@ -5659,6 +5660,14 @@ linuxkpi_ieee80211_iffree(struct ieee80211_hw *hw) rxni = (struct lkpi_80211_tag_rxni *)(mtag + 1); ieee80211_free_node(rxni->ni); } +#else + if (m->m_pkthdr.PH_loc.ptr != NULL) { + struct ieee80211_node *ni; + + ni = m->m_pkthdr.PH_loc.ptr; + ieee80211_free_node(ni); + } +#endif m_freem(m); m = mbufq_dequeue(&lhw->rxq); } @@ -6226,10 +6235,13 @@ static void lkpi_80211_lhw_rxq_rx_one(struct lkpi_hw *lhw, struct mbuf *m) { struct ieee80211_node *ni; +#ifdef LKPI_80211_USE_MTAG struct m_tag *mtag; +#endif int ok; ni = NULL; +#ifdef LKPI_80211_USE_MTAG mtag = m_tag_locate(m, MTAG_ABI_LKPI80211, LKPI80211_TAG_RXNI, NULL); if (mtag != NULL) { struct lkpi_80211_tag_rxni *rxni; @@ -6237,6 +6249,12 @@ lkpi_80211_lhw_rxq_rx_one(struct lkpi_hw *lhw, struct mbuf *m) rxni = (struct lkpi_80211_tag_rxni *)(mtag + 1); ni = rxni->ni; } +#else + if (m->m_pkthdr.PH_loc.ptr != NULL) { + ni = m->m_pkthdr.PH_loc.ptr; + m->m_pkthdr.PH_loc.ptr = NULL; + } +#endif if (ni != NULL) { ok = ieee80211_input_mimo(ni, m); @@ -6674,6 +6692,7 @@ skip_device_ts: /* Attach meta-information to the mbuf for the deferred RX path. */ if (ni != NULL) { +#ifdef LKPI_80211_USE_MTAG struct m_tag *mtag; struct lkpi_80211_tag_rxni *rxni; @@ -6687,6 +6706,9 @@ skip_device_ts: rxni = (struct lkpi_80211_tag_rxni *)(mtag + 1); rxni->ni = ni; /* We hold a reference. */ m_tag_prepend(m, mtag); +#else + m->m_pkthdr.PH_loc.ptr = ni; /* We hold a reference. */ +#endif } LKPI_80211_LHW_RXQ_LOCK(lhw); diff --git a/sys/compat/linuxkpi/common/src/linux_80211.h b/sys/compat/linuxkpi/common/src/linux_80211.h index e9c0d01af1bb..a5c052c78db0 100644 --- a/sys/compat/linuxkpi/common/src/linux_80211.h +++ b/sys/compat/linuxkpi/common/src/linux_80211.h @@ -86,6 +86,7 @@ #define MTAG_ABI_LKPI80211 1707696513 /* LinuxKPI 802.11 KBI */ +#ifdef LKPI_80211_USE_MTAG /* * Deferred RX path. * We need to pass *ni along (and possibly more in the future so @@ -95,6 +96,7 @@ struct lkpi_80211_tag_rxni { struct ieee80211_node *ni; /* MUST hold a reference to it. */ }; +#endif struct lkpi_radiotap_tx_hdr { struct ieee80211_radiotap_header wt_ihdr;