Bug 1169996 - TP-Link UE300 ethernet adpater (r8152) very slow on receive since kernel 5.4
TP-Link UE300 ethernet adpater (r8152) very slow on receive since kernel 5.4
Classification: openSUSE
Product: openSUSE Tumbleweed
Classification: openSUSE
Component: Kernel
x86-64 Other
: P5 - None : Normal (vote)
: ---
Assigned To: Shung-Hsi Yu
E-mail List
Depends on:
  Show dependency treegraph
Reported: 2020-04-21 03:20 UTC by Shung-Hsi Yu
Modified: 2021-07-02 08:51 UTC (History)
1 user (show)

See Also:
Found By: ---
Services Priority:
Business Priority:
Blocker: ---
Marketing QA Status: ---
IT Deployment: ---


Note You need to log in before you can comment on or make changes to this bug.
Description Shung-Hsi Yu 2020-04-21 03:20:45 UTC
TP-Link UE300 is a USB 3.0 Ethernet adapter that is based on the RTL8153 chip.

Since commit ec5791c202aca90c1b3b99dff268a995cf2d6aa1 (included in 5.4), this adapter experience an regression in receive performance, from what previously was 3xx Mbits/sec down to 5x Mbits/sec.

This issue is only reproducible when the adapter is *plugged into an USB 2.0 port*.

Upstream Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=205923
Comment 1 Shung-Hsi Yu 2021-07-02 08:51:57 UTC
Resolved with upstream commit f91a50d8b51b5c8ef1cfb08115a005bba4250507

> r8152: limit the RX buffer size of RTL8153A for USB 2.0
> If the USB host controller is EHCI, the throughput is reduced from
> 300Mb/s to 60Mb/s, when the rx buffer size is modified from 16K to
> 32K.
> According to the EHCI spec, the maximum size of the qTD is 20K.
> Therefore, when the driver uses more than 20K buffer, the latency
> time of EHCI would be increased. And, it let the RTL8153A get worse
> throughput.
> However, the driver uses alloc_pages() for rx buffer, so I limit
> the rx buffer to 16K rather than 20K.