All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ping-Ke Shih <pkshih@realtek.com>
To: Devin Wittmayer <lucid_duck@justthetip.ca>
Cc: "linux-wireless@vger.kernel.org" <linux-wireless@vger.kernel.org>,
	Bitterblue Smith <rtl8821cerfe2@gmail.com>,
	Nick Morrow <morrownr@gmail.com>,
	"stable@vger.kernel.org" <stable@vger.kernel.org>
Subject: RE: [PATCH rtw-next v2] wifi: rtw89: usb: shorten the RX aggregation hold on RTL8922AU over USB 3
Date: Thu, 8 Oct 2026 01:28:01 +0000	[thread overview]
Message-ID: <365ec643cfba4fa697bb4558a235d078@realtek.com> (raw)
In-Reply-To: <20261007210958.56528-1-lucid_duck@justthetip.ca>

Devin Wittmayer <lucid_duck@justthetip.ca> wrote:
> The RTL8922AU holds received frames for up to a millisecond before
> handing them to the host, a value carried over from the RTL8852CU.
> On USB 3 that adds up to a millisecond of round trip, and under load
> at 160 MHz the access point drops to lower rates and download suffers.
> 
> Shorten the hold on USB 3 only. On USB 2 the bus is the limit, and a
> slow host needs the long hold to keep up.
> 
> RTL8922AU on USB 3 at 160 MHz, power save off for the round trip:
> 
>                          x86, 6 GHz    x86, 5 GHz    Pi 5, 6 GHz
>                         before after  before after  before after
>   TCP down, 1 flow        613  1002     579   948     587  1010  Mbps
>   TCP down, 8 flows       656  1187     629  1080     605  1122  Mbps
>   round trip             2.33  1.29    2.25  1.18    1.42  0.84  ms
>   busiest core, UDP 200M  8.4  12.8     8.3  12.9     2.1   3.3  %
> 
> RTL8922AU on USB 2, Raspberry Pi 1 B+ at 5 GHz, 80 MHz:
> 
>                         long hold  short hold
>   TCP up, 1 flow            102.3        87.7  Mbps
>   CPU, UDP 20M               50.5        77.4  %
>   loss, UDP 50M               3.8        85.7  %
> 
> Fixes: 32cee8a9bb66 ("wifi: rtw89: usb: Enable RX aggregation for RTL8922AU")
> Reported-by: Nick Morrow <morrownr@gmail.com>
> Cc: stable@vger.kernel.org
> Signed-off-by: Devin Wittmayer <lucid_duck@justthetip.ca>

Acked-by: Ping-Ke Shih <pkshih@realtek.com>

> 
> Small-packet mode is at the link below. It sets both the hold and the
> size to 1, and nothing in that driver selects it.
> 
> https://github.com/morrownr/rtl8852cu-20251113/blob/fcb70aac55585a8e63c72da4e6d24c39d7494307/phl/h
> al_g6/hal_rx.c#L805-L808

Thanks for the info. I quickly check the internal commit log that people want
dynamically select the modes depends on RX conditions. I think the actually
selection might be only existing in special branches. 

Let's take this patch in advance. If you or other people can fine tune 
the threshold by certain conditions dynamically, we can apply the patch
in the future.

Ping-Ke


  reply	other threads:[~2026-10-08  1:28 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-10-07 21:09 [PATCH rtw-next v2] wifi: rtw89: usb: shorten the RX aggregation hold on RTL8922AU over USB 3 Devin Wittmayer
2026-10-08  1:28 ` Ping-Ke Shih [this message]
2026-10-08  5:33 ` Ping-Ke Shih

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=365ec643cfba4fa697bb4558a235d078@realtek.com \
    --to=pkshih@realtek.com \
    --cc=linux-wireless@vger.kernel.org \
    --cc=lucid_duck@justthetip.ca \
    --cc=morrownr@gmail.com \
    --cc=rtl8821cerfe2@gmail.com \
    --cc=stable@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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.