From: Ping-Ke Shih <pkshih@realtek.com>
To: Bitterblue Smith <rtl8821cerfe2@gmail.com>,
"linux-wireless@vger.kernel.org" <linux-wireless@vger.kernel.org>
Subject: RE: [PATCH rtw-next 3/4] wifi: rtw88: Set AMPDU factor to hardware
Date: Mon, 24 Mar 2025 00:39:15 +0000 [thread overview]
Message-ID: <bd2bb20aebde49009cc02077f6324833@realtek.com> (raw)
In-Reply-To: <b1b76ad7-d85f-4b40-8a9f-3cd1fb16460a@gmail.com>
Bitterblue Smith <rtl8821cerfe2@gmail.com> wrote:
> On 20/03/2025 02:38, Ping-Ke Shih wrote:
> > Bitterblue Smith <rtl8821cerfe2@gmail.com> wrote:
> >> On 19/03/2025 02:28, Ping-Ke Shih wrote:
> >>> Bitterblue Smith <rtl8821cerfe2@gmail.com> wrote:
> >>>> On 18/03/2025 04:06, Ping-Ke Shih wrote:
> >>>>> Bitterblue Smith <rtl8821cerfe2@gmail.com> wrote:
> >>>>>> On 17/03/2025 05:01, Ping-Ke Shih wrote:
> >>>>>>> Bitterblue Smith <rtl8821cerfe2@gmail.com> wrote:
> >>>>>>>>
> >>>>>>>> Tell the chip the maximum AMPDU size supported by the AP. This greatly
> >>>>>>>> improves the TX speed of RTL8814AU in the 2.4 GHz band. Before: ~90
> >>>>>>>> Mbps. After: ~300 Mbps.
> >>>>>>>>
> >>>>>>>> Add this configuration for all the chips, even if it only has an effect
> >>>>>>>> on RTL8814AU in my tests. Surely they all need this.
> >>>>>>>
> >>>>>>> The hardware default value of REG_AMPDU_MAX_LENGTH is 0xffff (unlimited)
> >>>>>>> for most chips. It seems like RTL8812A/RTL8821A are also exceptions, so
> >>>>>>> at power on function they do
> >>>>>>> rtw_write32(rtwdev, REG_AMPDU_MAX_LENGTH, 0xffffffff);
> >>>>>>>
> >>>>>>> I feel RTL8814A has similar setting, so maybe you can just add similar
> >>>>>>> stuff.
> >>>>>>>
> >>>>>>> By the way, the AMPDU is controlled by TX descriptor basically:
> >>>>>>> pkt_info->ampdu_factor = ampdu_factor;
> >>>>>>> pkt_info->ampdu_density = ampdu_density;
> >>>>>>> pkt_info->ampdu_en = ampdu_en;
> >>>>>>>
> >>>>>>> Since you didn't change this part at all, I still feel setting
> >>>>>>> REG_AMPDU_MAX_LENGTH to 0xffffffff can fix low throughput problem.
> >>>>>>>
> >>>>>>
> >>>>>> I tried 0xffffffff just now and it doesn't work. It's the same with
> >>>>>> both of my routers. They advertise a maximum AMPDU size of 64 K.
> >>>>>> I can't just set it to 0xffff either, because then the upload speed
> >>>>>> in the 5 GHz band suffers a lot. The dual band router advertises a
> >>>>>> maximum AMPDU size of 256 K in the 5 GHz band so it gets a value of
> >>>>>> 0x3ffff.
> >>>>>
> >>>>> Not sure if 0xffffffff is a special value. Since this is a limit of
> >>>>> AMPDU length, you can set a constant large value such as 0x3ffff you
> >>>>> have tested. Is there special case it can't handle?
> >>>>>
> >>>>>
> >>>>
> >>>> 0x3ffff is not good for the 2.4 GHz band. The upload is only ~90 Mbps
> >>>> with both of the routers I tested. Same with 0x1ffff. Only 0xffff
> >>>> works well for them.
> >>>
> >>> Have you checked the packets in the air? How about their difference?
> >>> Intuitively larger REG_AMPDU_MAX_LENGTH would be better.
> >>>
> >>
> >> I checked today. With 0xffffffff I see 29% retransmission rate. With
> >> 0xffff the retransmission rate is only 8.6%.
> >
> > Can you help to confirm if retransmission is because AP can't receive the long
> > packets? I suppose the BA bitmap from AP aren't all one's.
> >
>
> In a 30 second capture in the middle of running iperf3 with 0x458 =
> 0xffff there were 11440 block ack from the router to the RTL8814AU.
> Of those, 138 (1.2%) were block ack with the bitmap not all 1s.
>
> In another 30 second capture in the middle of running iperf3 with
> 0x458 = 0xffffffff there were 8112 block ack from the router to the
> RTL8814AU. Of those, 305 (3.76%) were block ack with bitmap not all
> 1s.
>
> See the attachments.
Thanks for the results, which shows ~90M (3.76%) vs ~300M (1.2%).
Though we can't understand the rate of not all 1s can affect so much.
Anyway, let's move on.
next prev parent reply other threads:[~2025-03-24 0:39 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-03-13 20:15 [PATCH rtw-next 0/4] Improve RTL8814AU performance Bitterblue Smith
2025-03-13 20:16 ` [PATCH rtw-next 1/4] wifi: rtw88: usb: Enable switching the RTL8814AU to USB 3 Bitterblue Smith
2025-03-17 2:52 ` Ping-Ke Shih
2025-03-13 20:17 ` [PATCH rtw-next 2/4] wifi: rtw88: usb: Enable RX aggregation for RTL8814AU Bitterblue Smith
2025-03-17 2:53 ` Ping-Ke Shih
2025-03-13 20:18 ` [PATCH rtw-next 3/4] wifi: rtw88: Set AMPDU factor to hardware Bitterblue Smith
2025-03-17 3:01 ` Ping-Ke Shih
2025-03-17 13:24 ` Bitterblue Smith
2025-03-18 2:06 ` Ping-Ke Shih
2025-03-18 18:41 ` Bitterblue Smith
2025-03-19 0:28 ` Ping-Ke Shih
2025-03-19 22:02 ` Bitterblue Smith
2025-03-20 0:38 ` Ping-Ke Shih
2025-03-21 17:36 ` Bitterblue Smith
2025-03-24 0:39 ` Ping-Ke Shih [this message]
2025-03-13 20:20 ` [PATCH rtw-next 4/4] wifi: rtw88: Don't set SUPPORTS_AMSDU_IN_AMPDU for RTL8814AU Bitterblue Smith
2025-03-17 3:31 ` 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=bd2bb20aebde49009cc02077f6324833@realtek.com \
--to=pkshih@realtek.com \
--cc=linux-wireless@vger.kernel.org \
--cc=rtl8821cerfe2@gmail.com \
/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.