Hi, > -----Original Message----- > From: Reto Schneider <code@xxxxxxxxxxxxxxxxx> > Sent: Wednesday, February 2, 2022 8:42 AM > To: chris.chiu@xxxxxxxxxxxxx; linux-wireless@xxxxxxxxxxxxxxx; Jes.Sorensen@xxxxxxxxx > Cc: Pkshih <pkshih@xxxxxxxxxxx> > Subject: rtl8xxxu: Performance findings and questions > > Hi all, > > While trying to improve the retransmission percentage on my rtl8188cus > devices, I found the following: > > rtl8xxxu_tx() takes every sk_buf handed by mac80211 and relays it to the > rtl8188cus right away. This results in 10k+ URBs/s, each ~1500 bytes in > size on my x86 workstation. On my low-end ARMv5 devices the URBs peak > out at ~5k/s, with lower throughput and higher retransmission rates > (~30% in a shielded RF box, ~10% for my workstation). Do you mean low-end device has higher retransmission rates than x86? It looks no reasonable. Could I know the driver and hardware including antenna are all the same? > > The Realtek 8192cu bundles the TX frames [1] and sends up to 18kB sized > URBs, resulting in just 1k URBs/s. The retransmission rates with this > driver are below 1%. If you put 8192cu on your low-end device, is the retransmission rate still low? > > Questions: > - Any chance this URB "spam" is the root cause for the rtl8188cus being > too slow to ACK received frames in time, causing retransmissions by > the AP? ACK is sent by hardware (not firmware/driver), so I think URB doesn't affect it. > - Is implementing wake_tx_queue() the proper way to improve this? Use wake_tx_queue() can boost MAC efficiency, but not sure it can improve it. AMSDU can send a continual and longer data in the air, so it is possible to get higher throughput, but it is also possible to have higher collision rate. Since you have mentioned retransmission rate, I guess you use another device working at monitor mode to capture packets, right? I think you can also investigate the relation between TX PHY rate and retransmission. Another experiment is the distance vs. rate. With short distance, it may get worse throughput because signal is too strong. Oppositely, if TX signal is too weak, moving device closer to AP may be helpful. -- Ping-Ke