Search Linux Wireless

rtl8xxxu: Performance findings and questions

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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).

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%.

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?
- Is implementing wake_tx_queue() the proper way to improve this?

Kind regards,
Reto

[1] https://github.com/husqvarnagroup/rtl8xxxu-8192cu-for-rtl8188cus/blob/d8c03db466bbb3e9c4e8e6cb0a589cfef55db756/core/rtw_xmit.c#L1688



[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Wireless Regulations]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux