Re: Poor performance with USB 1.1 drive connected to USB 3.0 port

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

 



On Mon, 29 Sep 2014 09:28:37 -0400 (EDT)
Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> wrote:

> On Sun, 28 Sep 2014, Mark Knibbs wrote:
> 
> > > There's no telling the reason for this difference.  It's got to be a
> > > hardware issue, though, not a software problem.  Maybe your xHCI
> > > controller just isn't optimized for carrying out full-speed transfers.
> > 
> > That's a possibility, but the improvement between my initial test with
> > kernel 3.14 and 3.16.2 (0.63MB/sec -> 0.75MB/sec) was obviously down to
> > software.
> 
> Since you reliably observe a difference in speed between these kernels, 
> you are in an ideal situation to use bisection.  That ought to pinpoint 
> the code changes responsible for the speed difference.

I'll try to get onto that shortly. It will be very painful on my old laptop
though..!


> > I re-tested today with kernel 3.17-rc6 (on Lubuntu 12.04.5) and the USB 3.0
> > result is back down to ~0.63MB/sec:
> > # sg_rbuf --buffer=524288 -v -t -q /dev/sg5
> >     Read buffer cdb: 3c 03 00 00 00 00 00 00 04 00 
> > READ BUFFER reports: buffer capacity=983040, offset boundary=0
> > time to read data from buffer was 332.637465 secs, 0.63 MB/sec
> > Read 200 MiB (actual: 209715200 bytes), buffer size=512 KiB (524288 bytes)
> 
> Again, bisection should help.

Not a proper bisection, but today I tested various kernels as available from
  http://kernel.ubuntu.com/~kernel-ppa/mainline/

Quite interesting! It's not a hardware issue after all, and it's quite an
old regression.

The USB 2 port rates are very consistent over all kernels. 2.6.32 and
2.6.33 are just as fast in USB 3.0 ports (in fact 0.05% faster) as in USB
2.0 ports. The regression occurred between 2.6.33 and 2.6.34, after which
USB 1.1 devices work 40% faster in USB 2 ports than USB 3 ports.

There was some improvement between 3.10 and 3.14, but things regressed
again between 3.16 and 3.17-rc1.

Kernel       USB2 time   USB3 time   USB2 rate  USB3 rate  USB3%of2   %USB2faster
2.6.32.63.26 242.405270  242.283844  865,142.9  865,576.5  100.05%    -0.05%
2.6.33.20    242.400737  242.285208  865,159.1  865,571.6  100.05%    -0.05%
2.6.34.15    242.400247  340.095006  865,160.8  616,637.1  71.27%     40.30%
2.6.36.4     242.400864  339.286585  865,158.6  618,106.4  71.44%     39.97%
3.7.10       243.009366  340.206814  862,992.3  616,434.4  71.43%     40.00%
3.10.55      242.400230  336.598467  865,160.9  623,042.6  72.01%     38.86%
3.14.19      242.401219  287.017822  865,157.4  730,669.6  84.46%     18.41%
3.16.2       242.400229  284.858724  865,160.9  736,207.7  85.09%     17.52%
3.16.3       242.400258  289.192172  865,160.8  725,175.9  83.82%     19.30%
3.17-rc1     242.400248  339.129056  865,160.8  618,393.5  71.48%     39.90%
3.17-rc6     242.400239  339.548579  865,160.9  617,629.4  71.39%     40.08%


> > For someone with no actual USB 1.1 drive, could connecting a USB 2.0 drive
> > through an old USB 1.1 hub (then to a USB 2.0 or 3.0 port) work for
> > testing? USB 1.1 hubs are probably still relatively easy to come by.
> 
> Yes, that would work.

Great. I hope someone else is motivated to reproduce the issue. It will
take a long time for me to bisect due to my slow computer.


Mark
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux