Linux wireless drivers development
 help / color / mirror / Atom feed
From: Ryder Lee <Ryder.Lee@mediatek.com>
To: "johannes@sipsolutions.net" <johannes@sipsolutions.net>
Cc: "Shayne Chen (陳軒丞)" <Shayne.Chen@mediatek.com>,
	"linux-wireless@vger.kernel.org" <linux-wireless@vger.kernel.org>,
	"linux-mediatek@lists.infradead.org"
	<linux-mediatek@lists.infradead.org>,
	"Evelyn Tsai (蔡珊鈺)" <Evelyn.Tsai@mediatek.com>
Subject: Re: [PATCH 1/2] wifi: mac80211: introduce ieee80211_refresh_tx_agg_session_timer()
Date: Fri, 17 Feb 2023 19:02:24 +0000	[thread overview]
Message-ID: <56190740441a6740e9edf761ab2167edc51f20c3.camel@mediatek.com> (raw)
In-Reply-To: <fb3ab2d925fdeae2e7cc778419c1476102b9f85f.camel@sipsolutions.net>

On Fri, 2023-02-17 at 19:53 +0100, Johannes Berg wrote:
> On Fri, 2023-02-17 at 18:43 +0000, Ryder Lee wrote:
> > On Fri, 2023-02-17 at 19:01 +0100, Johannes Berg wrote:
> > > On Sat, 2023-02-18 at 01:50 +0800, Ryder Lee wrote:
> > > > This allows low level drivers to refresh the tx agg session
> > > > timer,
> > > > based on
> > > > querying stats from the firmware usually. Especially for some
> > > > mt76
> > > > devices
> > > > support .net_fill_forward_path would bypass mac80211, which
> > > > leads
> > > > to tx BA
> > > > session timeout for certain clients.
> > > > 
> > > 
> > > Does it even matter? We could just request sessions without a
> > > timeout
> > > in
> > > the first place.
> > > 
> > 
> > I think we're already. Our main issue is performance periodically
> > drops
> > every few seconds when .net_fill_forward_path is enabled. Wireless
> > client have normal 500+ Mb/s iperf3 download speed for several
> > seconds.
> > Then it drops less than 100 Mb/s for several seconds. Then
> > everything
> > repeats. Issue occurs only on certain clients. (i.e. Intel cards
> > AX200,
> > AX1675, Advanced-N 6235 in Win11)
> > 
> 
> Strange. But how does this patch do anything about it, that should be
> completely client agnostic?
> 
> 

Since there's no any keep alive packet being received by host stack,
leads to mac80211 destrory BA sesion.

Ax200 series needs to update timer for each 5s period to maintain ba
session. We originally did this to workaround issue, but obviouly this
hack will not be accepted upstream, since it effectively completely
disables the session expiry timer without removing the code.

--- a/net/mac80211/agg-tx.c
+++ b/net/mac80211/agg-tx.c
@@ -568,10 +568,9 @@ static void
sta_tx_agg_session_timer_expired(struct timer_list *t)
 	}
 
 	timeout = tid_tx->last_tx + TU_TO_JIFFIES(tid_tx->timeout);
-	if (time_is_after_jiffies(timeout)) {
-		mod_timer(&tid_tx->session_timer, timeout);
-		return;
-	}
+	/* remove timerout handle for ax210 interoperability issue */
+	mod_timer(&tid_tx->session_timer, timeout);
+	return;

I'm not sure if there's a better way to fix this though.

Ryder

  reply	other threads:[~2023-02-17 19:02 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-02-17 17:50 [PATCH 1/2] wifi: mac80211: introduce ieee80211_refresh_tx_agg_session_timer() Ryder Lee
2023-02-17 17:50 ` [PATCH 2/2] wifi: mt76: connac: refresh tx session timer for WED device Ryder Lee
2023-02-17 18:01 ` [PATCH 1/2] wifi: mac80211: introduce ieee80211_refresh_tx_agg_session_timer() Johannes Berg
2023-02-17 18:43   ` Ryder Lee
2023-02-17 18:53     ` Johannes Berg
2023-02-17 19:02       ` Ryder Lee [this message]
2023-02-20  2:55         ` Ryder Lee
2023-02-20  3:35           ` Ryder Lee
2023-02-21  9:57             ` Johannes Berg
2023-02-21 19:04               ` Ryder Lee

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=56190740441a6740e9edf761ab2167edc51f20c3.camel@mediatek.com \
    --to=ryder.lee@mediatek.com \
    --cc=Evelyn.Tsai@mediatek.com \
    --cc=Shayne.Chen@mediatek.com \
    --cc=johannes@sipsolutions.net \
    --cc=linux-mediatek@lists.infradead.org \
    --cc=linux-wireless@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox