FROMLIST: usb: gadget: u_ether: enable qmult on SuperSpeed Plus as well
The u_ether driver has a qmult setting that multiplies the transmit queue length (which by default is 2). The intent is that it should be enabled at high/super speed, but because the code does not explicitly check for USB_SUPER_PLUS, it is disabled at that speed. Fix this by ensuring that the queue multiplier is enabled for any wired link at high speed or above. Using >= for USB_SPEED_* constants seems correct because it is what the gadget_is_xxxspeed functions do. The queue multiplier substantially helps performance at higher speeds. On a direct SuperSpeed Plus link to a Linux laptop, iperf3 single TCP stream: Before (qmult=1): 1.3 Gbps After (qmult=5): 3.2 Gbps Fixes: 04617db7 ("usb: gadget: add SS descriptors to Ethernet gadget") Signed-off-by:Lorenzo Colitti <lorenzo@google.com> Reviewed-by:
Maciej Żenczykowski <maze@google.com> Bug: 162298600 Link: https://lore.kernel.org/linux-usb/20200818161949.4083551-1-lorenzo@google.com/ Signed-off-by:
Maciej Żenczykowski <maze@google.com> Change-Id: I64b62a0da9fd522a62e1029825e305a99ed9d2b6 (cherry picked from commit 50f8fad2dd0ed8a6ee44f0194798d59590a7f594) Signed-off-by:
Will McVicker <willmcvicker@google.com>
Loading
Please sign in to comment