On 6 July 2018 at 18:57, Doug Anderson dianders@chromium.org wrote:
Hi,
Thanks for tracking this down and sorry for the original regression. Seems like a good fix. With this fix, I'd be curious of your observations on how dwc2 performs (both performance and compatibility under stress) with the newest driver compared to whatever you were using before.
My totally not scientifically accurate performance test included running iperf through my LTE dongle that was connected to dwc2. I saw throughput increase in download speeds.
Before (kernel 4.9.109 with the offending commit reverted) iperf reported download bandwidth at 33.2 Mbits/sec
Using newest dwc2 driver after applying "Fix DMA alignment to start at allocated boundary" patch I got 38.2 Mbits/sec
If I also apply the "Fix inefficient copy of unaligned buffers" patch I could achieve a total throughput for download around 44.6 Mbits/sec which I believe is capped by my 50Mbit/s subscription.
Also: you're using the dwc2_set_ltq_params() parameters? Have you checked if removing the "max_transfer_size" limit boosts your performance?
Yes, I'm using the parameters set there. I tried removing max_transfer_size but it did not have noticeable impact on the performance in my tests.
Cc: stable@vger.kernel.org Reviewed-by: Douglas Anderson dianders@chromium.org
Thanks for reviewing :)
-Antti