From nobody Mon Apr 22 19:44:06 2024 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 4VNbKf41tqz5Hm3n; Mon, 22 Apr 2024 19:44:06 +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 4VNbKf3Gv7z4mk3; Mon, 22 Apr 2024 19:44:06 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1713815046; 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=zZ4oATT6GNgY8Szfd+ehRevre7twMLOaR9a+reUGbLs=; b=WYnYRYLLQYMBBJFa7nJtwNzbAGJrfSzyVe/3mtez1clzjcRpoxYT02pKTfzb3lM6dQhD74 E6dUPYx8PCjsfrAzfUfAECc0GRY73Vp/JFCz9p+81KqufEWmEMhOAJ9lFN/gTkOJxvD4pT V70RVmm510r2eVGcD6O5kD/zNfmg/VtdpiSbls48QF+QdGRaXjcpKN90rfMxocW97VhXnh vl2xoGhI1S+CmJS2mrP6eCSFwreCpXK9Ir17YrfDTWwPwvd2jL0m1eJ4dvzOt60nxQJTOY LQ/rzqk8Nj/9A46AFoeQBdB6Y/F24BTW4B+h3TKXXqgREoUq54ij0oS5htVoeg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1713815046; a=rsa-sha256; cv=none; b=wnuJoxnewSxzCQZxHlS+GNmx1ohk2csKIk6hlVQZe+mthWrydgwgoX3owQVGpW7zGBnMIS 8Hh0bkm/WmgfL3v2z+hPQcf8e0dep5Ff8FQCBFNAzagAqeZJS9U6S0CLCVFXf4Ri0d7uv+ atg/qkUK3x+hKo+u+DD/Q+g5lqdrcE7k1cROqoTAgkeKJFkFnj8OwIFRyxbUhn3cc/sTDh PoDzaheeyFRGR/r0b9grR/2AhpqOh2s/nNE9RieAmUr2DNZq6sPh1gX37CytHVyxMA8r9z qZZFR8QdPWBV5TN7JxeNTTVAi2nhCLvkP+9RHyJAlKmYVDtqkFAZxIVdHVD40A== 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=1713815046; 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=zZ4oATT6GNgY8Szfd+ehRevre7twMLOaR9a+reUGbLs=; b=MJrDUH2GSupjFlFb61hVrRftT/9F4oJ4RkQ9a045FS3r0ctuXseE9RTeeHHay5A/yDVPpQ GoR6PHU8HfDnINieiFHu2SWq6nuh2eWLnU1pJTfvG8PTUulTcAhcmq33CApH7TaWjbdWdq YYTLg/gl0XF0Twg6D333eBYozxT0rx5x3Ds2btK8W+knn3MXNqQRYKby3VKEX+dhtexwBI MJy3w0poRdSOpBzUIw3spiBlHoNf1tokcFFxMH5mKB8JkT4/l8icXM32V5kgQNroIGynFc h1I3fn5LOvBsqQgrt6O7OioM5BbpkJSrcbdAVv1jhOy538oM58J12dSmkpzHBw== 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 4VNbKf2cNgz11ff; Mon, 22 Apr 2024 19:44:06 +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 43MJi6OI032431; Mon, 22 Apr 2024 19:44:06 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43MJi6SJ032428; Mon, 22 Apr 2024 19:44:06 GMT (envelope-from git) Date: Mon, 22 Apr 2024 19:44:06 GMT Message-Id: <202404221944.43MJi6SJ032428@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: b5cf81e20984 - stable/14 - LinuxKPI: 802.11: disable early queue wakeup workaround; better classify 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: b5cf81e209848b3abee365de2eca56f74305b025 Auto-Submitted: auto-generated The branch stable/14 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=b5cf81e209848b3abee365de2eca56f74305b025 commit b5cf81e209848b3abee365de2eca56f74305b025 Author: Bjoern A. Zeeb AuthorDate: 2024-02-16 21:14:02 +0000 Commit: Bjoern A. Zeeb CommitDate: 2024-04-22 17:00:27 +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. 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 daf7eb7a5661..758db287d613 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];