From nobody Mon Apr 15 17:52:16 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 4VJF9r6Vqtz5H2vF; Mon, 15 Apr 2024 17:52:16 +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 4VJF9r644Gz4G5p; Mon, 15 Apr 2024 17:52:16 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1713203536; 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=/92oHLRVxTd081b43tz8HszMkRwrAO3tP179GuLoH8k=; b=FrD6u34STggzJVF291e74rBFN5oMWU+XBBIyuCsInj77XRMyKHF2pjzpIWB3nhZCHEwsYk P2u/MDi4Zu8IcxrrOIwCmdnUkwMz81Z/rQF9lc+IHHaI+Q5zoLJ1IGS4wsGXejDN9Gv6No 3+DZymLJAYwZgZ9mq6VfdXP8sinF3p5Wd2wEZTkJtMvs/vfdOvW0HQlDM30pjvZ4ANwIIx 4CoeLPlhXS4xiW3J6LKzGRMwIPMlINSppKfUFBZgAkkE7JCk6fYOTz2qLh/EQN6eIfP7nZ 1COlIZjQLzyrjDhdU5wjzNY6KteKnYIj3JkU4RMYfHM46UCC75AcCqqglOHFtQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1713203536; a=rsa-sha256; cv=none; b=BPfL/+sGS9/ouB/hc5KDDhw5R2MNMf4exDcR524CPLonZKwfv1YREmDSQqO8pxQkcQEygV 9hhB88dRvoJqZODZp1+LabSGoY095gK+5KyvKyQK2ejnc/5K64rZGULOe7y9TH83FU6+1i TTblZDoDG6UV11CQOFgU7KcaZ6Bc+t6fudEBBObTTUH6YtJhxQ/zO41M0VDU0LL1/SiJp7 2nOfz9JEvewgBBa0KHFu1XXOSDsl5hidEv5RC5sGIyH907jOtp0Zbzv8tP5XD26xHkhXWt QXh80NZtgj8Yr7UHbkeCWWSfdAE/cA3CYpMEo/RpvBJWAnvPamLtBdz/rdrUmg== 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=1713203536; 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=/92oHLRVxTd081b43tz8HszMkRwrAO3tP179GuLoH8k=; b=s6i2dPdJMCy72mOCxW6uKCPND2lkYLJrB8XTqEgGfrM17Y/ZezePop6zwgc9B0n8SdM0nR D+42lgIzOm0BGGcjN2nis1SCN2jey6r+HTAQUq7wp9jVfzmmNRv4I77+Tq+VL74SQinWEi 1Znh183za/bJ1S2uGQSaMn8qSAgGI/LXV0xbW53u0K45v22LUloAm/LsYzpOO1VDKGIia5 TgmVqkIjHMQGOG0SlDMNsbDIAje66KcFYK3W1S3xzWiH4Aa94n/QHmEkwQMr0pvF72cV70 Ab2fCYaXfpi7IBpey29U7JRDRa4kjhYSBtIm6cNyltJVktUKRRpjaDT04DkxXQ== 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 4VJF9r5f1hz18mj; Mon, 15 Apr 2024 17:52:16 +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 43FHqG44056570; Mon, 15 Apr 2024 17:52:16 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43FHqGkv056567; Mon, 15 Apr 2024 17:52:16 GMT (envelope-from git) Date: Mon, 15 Apr 2024 17:52:16 GMT Message-Id: <202404151752.43FHqGkv056567@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: 1665ef979d3a - main - 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/main X-Git-Reftype: branch X-Git-Commit: 1665ef979d3adab05d178480077674ab5978e4f0 Auto-Submitted: auto-generated The branch main has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=1665ef979d3adab05d178480077674ab5978e4f0 commit 1665ef979d3adab05d178480077674ab5978e4f0 Author: Bjoern A. Zeeb AuthorDate: 2024-02-16 21:14:02 +0000 Commit: Bjoern A. Zeeb CommitDate: 2024-04-15 17:44:00 +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 MFC after: 3 day Reviewed by: cc Differential Revision: https://reviews.freebsd.org/D43944 --- 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 03ad38e33333..d598e9af0050 100644 --- a/sys/compat/linuxkpi/common/src/linux_80211.c +++ b/sys/compat/linuxkpi/common/src/linux_80211.c @@ -1311,6 +1311,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 @@ -1320,6 +1321,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)); @@ -3669,8 +3671,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];