Hi Mark,

I got a different result with my machine. Below is the details.

>>> Kernel version

allen@allen-ivb:~$ uname -a
Linux allen-ivb 3.17.0+ #1 SMP Thu Oct 9 16:19:28 CST 2014 x86_64 x86_64 x86_64 GNU/Linux

>>> Host controler information

allen@allen-ivb:~$ lspci | grep USB
00:14.0 USB controller: Intel Corporation 7 Series/C210 Series Chipset Family USB xHCI Host Controller (rev 04) 00:1a.0 USB controller: Intel Corporation 7 Series/C210 Series Chipset Family USB Enhanced Host Controller #2 (rev 04) 00:1d.0 USB controller: Intel Corporation 7 Series/C210 Series Chipset Family USB Enhanced Host Controller #1 (rev 04)

>>> Connected to USB 2.0 port via USB 1.1 hub:

allen@allen-ivb:~$ lsusb -t
/:  Bus 04.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/4p, 5000M
/:  Bus 03.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/4p, 480M
/:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/3p, 480M
    |__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/8p, 480M
|__ Port 5: Dev 3, If 0, Class=Human Interface Device, Driver=usbhid, 1.5M |__ Port 6: Dev 4, If 0, Class=Human Interface Device, Driver=usbhid, 1.5M |__ Port 6: Dev 4, If 1, Class=Human Interface Device, Driver=usbhid, 1.5M
/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/3p, 480M
    |__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/6p, 480M
        |__ Port 4: Dev 3, If 0, Class=Hub, Driver=hub/3p, 12M
|__ Port 1: Dev 4, If 0, Class=Human Interface Device, Driver=usbhid, 12M |__ Port 1: Dev 4, If 1, Class=Human Interface Device, Driver=usbhid, 12M |__ Port 3: Dev 5, If 0, Class=Mass Storage, Driver=usb-storage, 12M

allen@allen-ivb:~$ sudo ddpt if=/dev/sg2 bs=512 bpt=240 count=65536 verbose=2
[sudo] password for allen:
 >> Input file type: pass-through [pt] device
open /dev/sg2 with flags=0x802
    inquiry cdb: 12 00 00 00 24 00
    /dev/sg2: ASMT      2105              0     [pdt=0]
 >> Output file type: null device
    read capacity (10) cdb: 25 00 00 00 00 00 00 00 00 00
  /dev/sg2 [pt]: blocks=62500000 [0x3b9aca0], _bs=512, 32.00 GB
skip=0 (blocks on input), seek=0 (blocks on output)
  ibs=512 bytes, obs=512 bytes, OBPC=0
  initial count=65536 (blocks of input), blocks_per_transfer=240
Output file not specified so no copy, just reading input
65536+0 records in
0+0 records out
time to read data: 30.037081 secs at 1.12 MB/sec


>>> Connected to USB 3.0 port via USB 1.1 hub:

allen@allen-ivb:~$ lsusb -t
/:  Bus 04.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/4p, 5000M
/:  Bus 03.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/4p, 480M
    |__ Port 3: Dev 2, If 0, Class=Hub, Driver=hub/3p, 12M
|__ Port 1: Dev 3, If 0, Class=Human Interface Device, Driver=usbhid, 12M |__ Port 1: Dev 3, If 1, Class=Human Interface Device, Driver=usbhid, 12M |__ Port 3: Dev 5, If 0, Class=Mass Storage, Driver=usb-storage, 12M
/:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/3p, 480M
    |__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/8p, 480M
|__ Port 5: Dev 3, If 0, Class=Human Interface Device, Driver=usbhid, 1.5M |__ Port 6: Dev 4, If 0, Class=Human Interface Device, Driver=usbhid, 1.5M |__ Port 6: Dev 4, If 1, Class=Human Interface Device, Driver=usbhid, 1.5M
/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/3p, 480M
    |__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/6p, 480M


allen@allen-ivb:~$ sudo ddpt if=/dev/sg2 bs=512 bpt=240 count=65536 verbose=2
 >> Input file type: pass-through [pt] device
open /dev/sg2 with flags=0x802
    inquiry cdb: 12 00 00 00 24 00
    /dev/sg2: ASMT      2105              0     [pdt=0]
 >> Output file type: null device
    read capacity (10) cdb: 25 00 00 00 00 00 00 00 00 00
  /dev/sg2 [pt]: blocks=62500000 [0x3b9aca0], _bs=512, 32.00 GB
skip=0 (blocks on input), seek=0 (blocks on output)
  ibs=512 bytes, obs=512 bytes, OBPC=0
  initial count=65536 (blocks of input), blocks_per_transfer=240
Output file not specified so no copy, just reading input
65536+0 records in
0+0 records out
time to read data: 27.816240 secs at 1.21 MB/sec

Thanks,
-baolu

On 09/30/2014 05:19 PM, Mark Knibbs wrote:
On Tue, 30 Sep 2014 14:10:28 +0800
"Lu, Baolu" <baolu...@linux.intel.com> wrote:

On 9/30/2014 5:03 AM, Mark Knibbs wrote:
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.
Hi Mark,

I tried to reproduce this issue. I connected a USB key under a
full-speed hub.
Just to confirm, I do see the slowdown with a USB 2.0 drive connected to
USB 1.1 hub connected to USB 3.0 port. My results (kernel 3.17-rc6):

Connected to USB 3.0 port via USB 1.1 hub:

# ddpt if=/dev/sg6 bs=512 bpt=240 count=65536 verbose=2
  >> Input file type: pass-through [pt] device
open /dev/sg6 with flags=0x802
     inquiry cdb: 12 00 00 00 24 00
     /dev/sg6: Freecom   DataBar USB2.0    2.00  [pdt=0]
  >> Output file type: null device
     read capacity (10) cdb: 25 00 00 00 00 00 00 00 00 00
   /dev/sg6 [readcap]: num_blocks=127908 [0x1f3a4], block_size=512, 65 MB
skip=0 (blocks on input), seek=0 (blocks on output)
   ibs=512 bytes, obs=512 bytes, OBPC=0
   initial count=65536 (blocks of input), blocks_per_transfer=240
Output file not specified so no copy, just reading input
65536+0 records in
0+0 records out
time to read data: 58.147836 secs at 577.1 KB/sec


Connected to USB 2.0 port via USB 1.1 hub:

# ddpt if=/dev/sg6 bs=512 bpt=240 count=65536 verbose=2
  >> Input file type: pass-through [pt] device
open /dev/sg6 with flags=0x802
     inquiry cdb: 12 00 00 00 24 00
     /dev/sg6: Freecom   DataBar USB2.0    2.00  [pdt=0]
  >> Output file type: null device
     read capacity (10) cdb: 25 00 00 00 00 00 00 00 00 00
   /dev/sg6 [readcap]: num_blocks=127908 [0x1f3a4], block_size=512, 65 MB
skip=0 (blocks on input), seek=0 (blocks on output)
   ibs=512 bytes, obs=512 bytes, OBPC=0
   initial count=65536 (blocks of input), blocks_per_transfer=240
Output file not specified so no copy, just reading input
65536+0 records in
0+0 records out
time to read data: 39.146843 secs at 857.1 KB/sec


Mark

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

Reply via email to