From nobody Fri Jun 14 18:43:04 2024 X-Original-To: dev-commits-src-all@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 4W17Sm479pz5PK11; Fri, 14 Jun 2024 18:43:04 +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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4W17Sm26STz4G73; Fri, 14 Jun 2024 18:43:04 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1718390584; 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=hdSbIrAjVUOZ1t2DtpXmRa2TnfgXvWeny4HY04GCDFI=; b=RjvCFuonSXSmJL+y2F1dmCHesmF79Csl8FpytkLvPiD3SlKPkhmectq6NsgwiMt/DSJixn n7NXmvN31xzTdfVobd/bdwmrspZxRlVSNDOFqpqZZO26w02miQRAuwfyBsEnzZGcMKzcC+ GoZZ/fEfdnM6qXDYeyrz/xtLl6m2eCJ3AvsU5sk/TXkhM18Npd+dKg9zTv8j3A5nBuwrXG 2xH76oN5+u2PLfwBC/SsdccT0Bu6n5nvFsYW9Gxz/R9cjSblMejI7O1PDOYppwNjAo4lTV 4D8UddRjBV+3KBuqENZwBs4K3SoIpVtQFat0/JiLyJ1Mj/YqjzJ/LZjJGwwoxw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1718390584; a=rsa-sha256; cv=none; b=u2KnPvZA+zFuJHB3WdZ3rEj7NCyyEO6NZDG5pAh8KJ470aE3MoyPmESCpWP+hzl0EY2QEU icDhjyeilkTBqCgqgoBMVNcYTguCwF1I7JNsgTRQq+7v7mpPrOkymWP+H/TQRf0I7+HvZR NtoiqKRWEzcBtKUvSGaj/UJMwPZgQlrvKw9aT0WlA6eWLYn+jjDiEubrL+vWAZOEPGUaiB nrhCROF/RwP8Q95N62YKnABQhG6qnW0VhvvsJQ7BsL4p1/LHmnEcXax/neq0nHSGQFTP2E +YMaPQdE47C4AiBWcT0gY4+TaLcuwqR05BOAyMTdkMAQlKDgPZOQH3JZqUJvuw== 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=1718390584; 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=hdSbIrAjVUOZ1t2DtpXmRa2TnfgXvWeny4HY04GCDFI=; b=cVpaBaJPe+lk76ZmOgj0/DSbimKWEhobrZH1Ky+hKaaanHcouCBClo4OVfNV9HIDYF1rIT IDp8X8B4uBMY0EfncghQIxNU5tTlFDIs0dWxqpCq+sCOeNSSVdErYjD0Yei5YN+1Mx24Eq n4COvcH2+b45AWkvtdvahiNPg6eggFlImqlDcLnrg+8/V6XupeGEa2UTMolA/E1EpCUKUb +83sRG8o3s/VcOyLm9U0+Pk2elpiWYvspQ89LruUMuxWKflDV+vUcCAh7WroRjp/2uZFB0 PWv7ZxduBeqpWmuQBpKbwPx8mVD0o7UjhWMf0ym1eBmQ4xaw26sfMVDnSKJQYg== 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 4W17Sm1XqRzXKG; Fri, 14 Jun 2024 18:43:04 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 45EIh4lq020540; Fri, 14 Jun 2024 18:43:04 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 45EIh4hJ020537; Fri, 14 Jun 2024 18:43:04 GMT (envelope-from git) Date: Fri, 14 Jun 2024 18:43:04 GMT Message-Id: <202406141843.45EIh4hJ020537@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: b5e3a31ac050 - stable/13 - LinuxKPI: 802.11: disable early queue wakeup workaround; better classify List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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/13 X-Git-Reftype: branch X-Git-Commit: b5e3a31ac050dd376d19682fe0e595692ec3379f Auto-Submitted: auto-generated The branch stable/13 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=b5e3a31ac050dd376d19682fe0e595692ec3379f commit b5e3a31ac050dd376d19682fe0e595692ec3379f Author: Bjoern A. Zeeb AuthorDate: 2024-02-16 21:14:02 +0000 Commit: Bjoern A. Zeeb CommitDate: 2024-06-14 14:55:16 +0000 LinuxKPI: 802.11: disable early queue wakeup workaround; better classify We used to call lkpi_wake_tx_queues() for all queues early on in order to make sure they are ready. Turns out whatever logic in iwlwifi startup is working correctly these days under LinuxKPI so this is no longer needed. As the comment indicated the "workaround" did not always work. Disable it for now. The second part of the improvement is to properly classify Non-QOS non-data frames (mgmt and ctl frames for now, unless we have to be even more careful in the future about certain sub-types) as TID 7/VO. Contrary to net80211 we must not promote PAE frames. PR: 274382 Reviewed by: cc Differential Revision: https://reviews.freebsd.org/D43944 (cherry picked from commit 1665ef979d3adab05d178480077674ab5978e4f0) --- sys/compat/linuxkpi/common/src/linux_80211.c | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/sys/compat/linuxkpi/common/src/linux_80211.c b/sys/compat/linuxkpi/common/src/linux_80211.c index 1a5954de0250..d90f89cdcbcd 100644 --- a/sys/compat/linuxkpi/common/src/linux_80211.c +++ b/sys/compat/linuxkpi/common/src/linux_80211.c @@ -1312,6 +1312,7 @@ lkpi_sta_scan_to_auth(struct ieee80211vap *vap, enum ieee80211_state nstate, int lkpi_lsta_dump(lsta, ni, __func__, __LINE__); +#if 0 /* * Wakeup all queues now that sta is there so we have as much time to * possibly prepare the queue in the driver to be ready for the 1st @@ -1321,6 +1322,7 @@ lkpi_sta_scan_to_auth(struct ieee80211vap *vap, enum ieee80211_state nstate, int * for all queues. */ lkpi_wake_tx_queues(hw, LSTA_TO_STA(lsta), false, false); +#endif /* Start mgd_prepare_tx. */ memset(&prep_tx_info, 0, sizeof(prep_tx_info)); @@ -3670,8 +3672,16 @@ lkpi_80211_txq_tx_one(struct lkpi_sta *lsta, struct mbuf *m) hdr = (void *)skb->data; tid = linuxkpi_ieee80211_get_tid(hdr, true); if (tid == IEEE80211_NONQOS_TID) { /* == IEEE80211_NUM_TIDS */ - skb->priority = 0; - ac = IEEE80211_AC_BE; + if (!ieee80211_is_data(hdr->frame_control)) { + /* MGMT and CTRL frames go on TID 7/VO. */ + skb->priority = 7; + ac = IEEE80211_AC_VO; + } else { + /* Other non-QOS traffic goes to BE. */ + /* Contrary to net80211 we MUST NOT promote M_EAPOL. */ + skb->priority = 0; + ac = IEEE80211_AC_BE; + } } else { skb->priority = tid & IEEE80211_QOS_CTL_TID_MASK; ac = ieee80211e_up_to_ac[tid & 7];