tobetter / linux

Linux kernel source tree
Other
68 stars 30 forks source link

where to ask for support? #5

Open jobenvil opened 8 years ago

jobenvil commented 8 years ago

Hi @tobetter where is the place to post or ask for help where you are active? I would ask which kernel starts to supports uas on odroidxu4? I see on def_conf is istill uncommented. I have usb device controller (JMicron 567) which supports scsi + uas. Thanks!

tobetter commented 8 years ago

@jobenvil it's ok to post here your questions or drop me an email any time. As of now, I've not tested UAS yet. So no proof XU4 kernel can support it perfectly as of now.

jobenvil commented 8 years ago

Thanks Kim.

Enabling in .config CONFIG_USB_UAS=y I have no succes, even with 4.7.-rc.2-next.

I bought two different USB-SATA-Adapter which should support uas:

root@hiperborea ~ # lsusb
Bus 006 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 005 Device 002: ID 0bda:8153 Realtek Semiconductor Corp.
Bus 005 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 004: ID 152d:3562 JMicron Technology Corp. / JMicron USA Technology Corp. JMS567 SATA 6Gb/s bridge
Bus 004 Device 003: ID 05e3:0616 Genesys Logic, Inc. hub
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 002: ID 05e3:0610 Genesys Logic, Inc. 4-port hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

root@hiperborea ~ # lsusb -vvv -d   152d:3562 | grep -ie 'id\|maxpower\|streams\|protocol'
Bus 004 Device 004: ID 152d:3562 JMicron Technology Corp. / JMicron USA Technology Corp. JMS567 SATA 6Gb/s bridge
  bDeviceProtocol         0
  idVendor           0x152d JMicron Technology Corp. / JMicron USA Technology Corp.
  idProduct          0x3562 JMS567 SATA 6Gb/s bridge
    MaxPower                2mA
      bInterfaceProtocol     80 Bulk-Only
      bInterfaceProtocol     98
        MaxStreams             32
        MaxStreams             32
        MaxStreams             32

and

root@hiperborea ~ # lsusb
Bus 006 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 005 Device 003: ID 0bda:8153 Realtek Semiconductor Corp.
Bus 005 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 003: ID 174c:55aa ASMedia Technology Inc. ASM1051E SATA 6Gb/s bridge, ASM1053E SATA 6Gb/s bridge, ASM1153 SATA 3Gb/s bridge
Bus 004 Device 002: ID 05e3:0616 Genesys Logic, Inc. hub
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 002: ID 05e3:0610 Genesys Logic, Inc. 4-port hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

root@hiperborea ~ # lsusb -vvv -d  174c:55aa | grep -ie 'id\|maxpower\|streams\|protocol'
Bus 004 Device 003: ID 174c:55aa ASMedia Technology Inc. ASM1051E SATA 6Gb/s bridge, ASM1053E SATA 6Gb/s bridge, ASM1153 SATA 3Gb/s bridge
  bDeviceProtocol         0
  idVendor           0x174c ASMedia Technology Inc.
  idProduct          0x55aa ASM1051E SATA 6Gb/s bridge, ASM1053E SATA 6Gb/s bridge, ASM1153 SATA 3Gb/s bridge
    MaxPower                0mA
      bInterfaceProtocol     80 Bulk-Only
      bInterfaceProtocol     98
        MaxStreams             32
        MaxStreams             32
        MaxStreams             32

but kernel messages indicate that uas will not work and therefore Bulk-Only protocol will rule:

[    4.404523] usb 4-1.1: new SuperSpeed USB device number 3 using xhci-hcd
[    4.431002] usb 4-1.1: New USB device found, idVendor=174c, idProduct=55aa
[    4.441566] usb 4-1.1: New USB device strings: Mfr=2, Product=3, SerialNumber=1
[    4.452431] usb 4-1.1: Product: ASMT1051
[    4.459905] usb 4-1.1: Manufacturer: asmedia
[    4.467710] usb 4-1.1: SerialNumber: 12345678DCA3
[    4.479543] usb 4-1.1: USB controller xhci-hcd.2.auto does not support streams, which are required by the UAS driver.
[    4.493897] usb 4-1.1: Please try an other USB controller if you wish to use UAS.
[    4.505279] usb 4-1.1: USB controller xhci-hcd.2.auto does not support streams, which are required by the UAS driver.
[    4.519732] usb 4-1.1: Please try an other USB controller if you wish to use UAS.

According to MaxPower = 0 mW and uas-detect.h , I should have the ASM1153. Some hint or direction to dig? Thanks in advance.

tobetter commented 8 years ago

Hey @jobenvil,

What's the product of ASM1153? Any reason you have to use ASM1153, not JMS567?

jobenvil commented 8 years ago

No special reason, I just bought to test them because they have USB attached SCSI support.

Update: With iotf master branch 4.6.0+ are recogniced both adapters like USB Attached SCSI / uas:

Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       1
      bNumEndpoints           4
      bInterfaceClass         8 Mass Storage
      bInterfaceSubClass      6 SCSI
      bInterfaceProtocol     98
      iInterface             10 MSC USB Attached SCSI

dmesg JM567

[    8.665627] usb 4-1.1: new SuperSpeed USB device number 3 using xhci-hcd
[    8.686851] usb 4-1.1: New USB device found, idVendor=152d, idProduct=3562
[    8.692283] usb 4-1.1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[    8.699563] usb 4-1.1: Product: AD TO BE II
[    8.703713] usb 4-1.1: Manufacturer: ADMKIV
[    8.707874] usb 4-1.1: SerialNumber: DB123456789628
[    8.724382] scsi host0: uas
[    8.727286] scsi 0:0:0:0: Direct-Access     ADplus   SuperVer         6302 PQ: 0 ANSI: 6
[    8.767014] sd 0:0:0:0: [sda] 976773168 512-byte logical blocks: (500 GB/466 GiB)
[    8.767224] sd 0:0:0:0: Attached scsi generic sg0 type 0
[    8.778375] sd 0:0:0:0: [sda] 4096-byte physical blocks
[    8.784305] sd 0:0:0:0: [sda] Write Protect is off
[    8.788308] sd 0:0:0:0: [sda] Mode Sense: 53 00 00 08
[    8.788680] sd 0:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
[    8.881738]  sda: sda1 sda2
[    8.885725] sd 0:0:0:0: [sda] Attached SCSI disk
...
...
[   12.901106] usbcore: registered new interface driver r8152
[   12.931370] usbcore: registered new interface driver cdc_ether
[   13.098440] usb 6-1: reset SuperSpeed USB device number 2 using xhci-hcd
[   13.185062] r8152 6-1:1.0 eth0: v1.08.3
[   13.402296] usb 4-1.1: USB disconnect, device number 3
[   13.421351] sd 0:0:0:0: [sda] tag#0 uas_zap_pending 0 uas-tag 1 inflight: CMD
[   13.421376] sd 0:0:0:0: [sda] tag#0 CDB: opcode=0x28 28 00 00 00 01 10 00 00 f0 00
[   13.421407] sd 0:0:0:0: [sda] tag#0 UNKNOWN(0x2003) Result: hostbyte=0x01 driverbyte=0x00
[   13.421420] sd 0:0:0:0: [sda] tag#0 CDB: opcode=0x28 28 00 00 00 01 10 00 00 f0 00
[   13.421430] blk_update_request: I/O error, dev sda, sector 272
[   13.426899] sd 0:0:0:0: [sda] Synchronizing SCSI cache
[   13.565685] sd 0:0:0:0: [sda] Synchronize Cache(10) failed: Result: hostbyte=0x07 driverbyte=0x00
[   17.135625] usb 4-1.1: new SuperSpeed USB device number 4 using xhci-hcd
[   17.151751] usb 4-1.1: New USB device found, idVendor=152d, idProduct=3562
[   17.151765] usb 4-1.1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[   17.151774] usb 4-1.1: Product: AD TO BE II
[   17.151783] usb 4-1.1: Manufacturer: ADMKIV
[   17.151793] usb 4-1.1: SerialNumber: DB123456789628
[   17.155010] scsi host0: uas
[   17.157219] scsi 0:0:0:0: Direct-Access     ADplus   SuperVer         6302 PQ: 0 ANSI: 6
[   17.206579] sd 0:0:0:0: Attached scsi generic sg0 type 0
[   17.206749] sd 0:0:0:0: [sda] 976773168 512-byte logical blocks: (500 GB/466 GiB)
[   17.206769] sd 0:0:0:0: [sda] 4096-byte physical blocks
[   17.207577] sd 0:0:0:0: [sda] Write Protect is off
[   17.207593] sd 0:0:0:0: [sda] Mode Sense: 53 00 00 08
[   17.207997] sd 0:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
[   17.269708]  sda: sda1 sda2
[   17.272640] sd 0:0:0:0: [sda] Attached SCSI disk
[    3.534477] usb 4-1.1: new SuperSpeed USB device number 3 using xhci-hcd
[    3.555420] usb 4-1.1: New USB device found, idVendor=174c, idProduct=55aa
[    3.561388] usb 4-1.1: New USB device strings: Mfr=2, Product=3, SerialNumber=1
[    3.568613] usb 4-1.1: Product: ASMT1051
[    3.572096] usb 4-1.1: Manufacturer: asmedia
[    3.576515] usb 4-1.1: SerialNumber: 12345678DCA3
[    3.593457] scsi host0: uas
[    3.595907] scsi 0:0:0:0: Direct-Access     ASMT     2115             0    PQ: 0 ANSI: 6
[    3.615155] random: nonblocking pool is initialized
[    3.646398] sd 0:0:0:0: Attached scsi generic sg0 type 0
[    3.646614] sd 0:0:0:0: [sda] Spinning up disk...
[    4.024476] raid6: int32x1  gen()   429 MB/s
[    4.109377] raid6: int32x1  xor()   325 MB/s
[    4.194421] raid6: int32x2  gen()   625 MB/s
[    4.279385] raid6: int32x2  xor()   471 MB/s
[    4.364420] raid6: int32x4  gen()   719 MB/s
[    4.449358] raid6: int32x4  xor()   581 MB/s
[    4.534393] raid6: int32x8  gen()   947 MB/s
[    4.619338] raid6: int32x8  xor()   592 MB/s
[    4.622125] raid6: using algorithm int32x8 gen() 947 MB/s
[    4.627518] raid6: .... xor() 592 MB/s, rmw enabled
[    4.632370] raid6: using intx1 recovery algorithm
[    4.637818] xor: measuring software checksum speed
[    4.649400] .
[    4.689356]    arm4regs  :  2943.200 MB/sec
[    4.739369]    8regs     :  2458.400 MB/sec
[    4.789342]    32regs    :  2351.200 MB/sec
[    4.792046] xor: using function: arm4regs (2943.200 MB/sec)
[    4.810989] Btrfs loaded, assert=on
[    5.654403] ....ready
[    8.670778] sd 0:0:0:0: [sda] 976773168 512-byte logical blocks: (500 GB/466 GiB)
[    8.677382] sd 0:0:0:0: [sda] Write Protect is off
[    8.681583] sd 0:0:0:0: [sda] Mode Sense: 43 00 00 00
[    8.681878] sd 0:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
[    8.800104]  sda: sda1 sda2
[    8.803908] sd 0:0:0:0: [sda] Attached SCSI disk

and corresponding lsusb -v:

    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       1
      bNumEndpoints           4
      bInterfaceClass         8 Mass Storage
      bInterfaceSubClass      6 SCSI
      bInterfaceProtocol     98
      iInterface              0

I cannot update you about the uas performance compared with other kernels since I don't have a stable environment to test them. When I have it, I will update you. You may like close the issue.

tobetter commented 8 years ago

@jobenvil Ok, thank you for update. I recently got a board of JMicro, different chipset with yours. I was planning to adapt it to XU4. FYI, I've started to create a branch with v4.6 recently, hope it could work. https://github.com/tobetter/linux/commits/odroidxu4-v4.6

jobenvil commented 8 years ago

FYI, I've started to create a branch with v4.6 recently, hope it could work. https://github.com/tobetter/linux/commits/odroidxu4-v4.6

@tobetter thank you, this will be very usefull since I'm still testing.

uDude commented 8 years ago

Ams1053 works well but does not have pm. On Jun 14, 2016 5:02 AM, "José Benlloch" notifications@github.com wrote:

FYI, I've started to create a branch with v4.6 recently, hope it could work. https://github.com/tobetter/linux/commits/odroidxu4-v4.6

@tobetter https://github.com/tobetter thank you, this will be very usefull since I'm still testing.

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/tobetter/linux/issues/5#issuecomment-225848727, or mute the thread https://github.com/notifications/unsubscribe/AIiMeCKi486kmRnFYru-TlcslWieyyKQks5qLopOgaJpZM4IpQzo .

tobetter commented 8 years ago

@uDude could you share more detail about your running environment? Like kernel version and platform? @jobenvil would you mind to share your expectation in terms of the performance and how you are planning to measure it?

uDude commented 8 years ago

Sure,

I have xu4 to an asmedia 1053 based chip set ( http://www.datoptic.com/ec/usb3-to-sata3-6gb-s-bridge.html). This connects to western digital red 3T disks.

Kernel is the tobetter 4.2.x.

I get about 144 MB/s write speed.

I am using CloudDB, Ubuntu 16.04. These are server only so I cannot comment on sound or video. On Jun 14, 2016 6:48 AM, "Dongjin Kim" notifications@github.com wrote:

@uDude https://github.com/uDude could you share more detail about your running environment? Like kernel version and platform? @jobenvil https://github.com/jobenvil would you mind to share your expectation in terms of the performance and how you are planning to measure it?

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/tobetter/linux/issues/5#issuecomment-225870232, or mute the thread https://github.com/notifications/unsubscribe/AIiMeIHW0UgS9a1G1HovuTWpzgLr0KBiks5qLqMFgaJpZM4IpQzo .

jobenvil commented 8 years ago

@tobetter I read some time ago this sunxi article regarding UASP and found interesting why not to get enabled in odroidxu4 if is only a matter of find out a working UAS adapter. After that, @tkaiser from ARMBIAN asked in ODROID Forum for check the uas performance in OdroidXU4 devices. This is the history behind.

and how you are planning to measure it?

Don't expect more than what I know, like hdparm, dd, iozone, HELIOS LanTest. Basically blocking the uas on kernel module load. @uDude if you have uas enabled, can you try blacklisting the uas module and test performance w/o?

would you mind to share your expectation in terms of the performance

UAS is really performing better than w/o. Check the notes here. On Lemaker Banana Pro running Kernel 4.6.2 / Ubuntu 16.04 using the USB2.0 ports with JM567 I got around 40MB/S for write and read, what it is worth to consider the re-use of the USB2.0 ports again.

uDude commented 8 years ago

Hmmmm,

I do my builds on the XU4 and somewhere in the recent commits the kernel compile is broken. See below:

drivers/phy/phy-exynos5-usbdrd.c: In function ‘exynos5420_usbdrd_phy_calibrate’: drivers/phy/phy-exynos5-usbdrd.c:652:10: warning: ‘return’ with a value, in function returning void return ret; ^ drivers/phy/phy-exynos5-usbdrd.c:666:10: warning: ‘return’ with a value, in function returning void return ret; ^ drivers/phy/phy-exynos5-usbdrd.c:699:9: warning: ‘return’ with a value, in function returning void return ret; ^ drivers/phy/phy-exynos5-usbdrd.c: At top level: drivers/phy/phy-exynos5-usbdrd.c:804:28: error: initialization from incompatible pointer type [-Werror=incompatible-pointer-types] .phy_exynos_calibrate = exynos5420_usbdrd_phy_calibrate, ^ drivers/phy/phy-exynos5-usbdrd.c:804:28: note: (near initialization for ‘exynos5420_usbdrd_phy.phy_exynos_calibrate’)

I didn't think the aufs patch updated the usbdrd. Regardless, when I get a chance I have a separate branch that compiles that I'll enable the requested changes on and let you know. I want to do the speed tests against identical kernels with only that one difference.

I had terrible performance with some jmicro chipsets, but the ASMedia 1053 (no port-multiplier) works great for me.

It will be a few days be patient and I'll get you the requested comparisons. Note my builds giving 140 MB/s (not 140 Mb/s) are using the @tobetter defconfig.

uDude

On Tue, Jun 14, 2016 at 10:03 PM, José Benlloch notifications@github.com wrote:

@tobetter https://github.com/tobetter I read some time ago this sunxi article regarding UASP http://linux-sunxi.org/USB/UAS and found interesting why not to get enabled in odroidxu4 if is only a matter of find out a working UAS adapter. After that, @tkaiser from ARMBIAN asked in ODROID Forum http://forum.odroid.com/viewtopic.php?f=97&t=17349 for check the uas performance in OdroidXU4 devices. This is the history behind.

and how you are planning to measure it?

Don't expect more than what I know, like hdparm, dd, iozone, HELIOS LanTest. Basically blocking the uas on kernel module load. @uDude https://github.com/uDude if you have uas enabled, can you try blacklisting the uas module and test performance w/o?

would you mind to share your expectation in terms of the performance

UAS is really performing better than w/o. Check the notes here. http://pastebin.com/aGZyeryT On Lemaker Banana Pro running Kernel 4.6.2 / Ubuntu 16.04 using the USB2.0 ports with JM567 I got around 40MB/S for write and read, what it is worth to consider the re-use of the USB2.0 ports again.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/tobetter/linux/issues/5#issuecomment-226030052, or mute the thread https://github.com/notifications/unsubscribe/AIiMeIKll4Ek5BRzRsT8e0iTI74tAZKsks5qLyUzgaJpZM4IpQzo .

uDude commented 8 years ago

Change the return value of the function to static int from static void and all is well. I say that w/o testing only that the build completes.

On Wed, Jun 15, 2016 at 1:55 AM, Mike Kyle mfkyle@gmail.com wrote:

Hmmmm,

I do my builds on the XU4 and somewhere in the recent commits the kernel compile is broken. See below:

drivers/phy/phy-exynos5-usbdrd.c: In function ‘exynos5420_usbdrd_phy_calibrate’: drivers/phy/phy-exynos5-usbdrd.c:652:10: warning: ‘return’ with a value, in function returning void return ret; ^ drivers/phy/phy-exynos5-usbdrd.c:666:10: warning: ‘return’ with a value, in function returning void return ret; ^ drivers/phy/phy-exynos5-usbdrd.c:699:9: warning: ‘return’ with a value, in function returning void return ret; ^ drivers/phy/phy-exynos5-usbdrd.c: At top level: drivers/phy/phy-exynos5-usbdrd.c:804:28: error: initialization from incompatible pointer type [-Werror=incompatible-pointer-types] .phy_exynos_calibrate = exynos5420_usbdrd_phy_calibrate, ^ drivers/phy/phy-exynos5-usbdrd.c:804:28: note: (near initialization for ‘exynos5420_usbdrd_phy.phy_exynos_calibrate’)

I didn't think the aufs patch updated the usbdrd. Regardless, when I get a chance I have a separate branch that compiles that I'll enable the requested changes on and let you know. I want to do the speed tests against identical kernels with only that one difference.

I had terrible performance with some jmicro chipsets, but the ASMedia 1053 (no port-multiplier) works great for me.

It will be a few days be patient and I'll get you the requested comparisons. Note my builds giving 140 MB/s (not 140 Mb/s) are using the @tobetter defconfig.

uDude

On Tue, Jun 14, 2016 at 10:03 PM, José Benlloch notifications@github.com wrote:

@tobetter https://github.com/tobetter I read some time ago this sunxi article regarding UASP http://linux-sunxi.org/USB/UAS and found interesting why not to get enabled in odroidxu4 if is only a matter of find out a working UAS adapter. After that, @tkaiser from ARMBIAN asked in ODROID Forum http://forum.odroid.com/viewtopic.php?f=97&t=17349 for check the uas performance in OdroidXU4 devices. This is the history behind.

and how you are planning to measure it?

Don't expect more than what I know, like hdparm, dd, iozone, HELIOS LanTest. Basically blocking the uas on kernel module load. @uDude https://github.com/uDude if you have uas enabled, can you try blacklisting the uas module and test performance w/o?

would you mind to share your expectation in terms of the performance

UAS is really performing better than w/o. Check the notes here. http://pastebin.com/aGZyeryT On Lemaker Banana Pro running Kernel 4.6.2 / Ubuntu 16.04 using the USB2.0 ports with JM567 I got around 40MB/S for write and read, what it is worth to consider the re-use of the USB2.0 ports again.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/tobetter/linux/issues/5#issuecomment-226030052, or mute the thread https://github.com/notifications/unsubscribe/AIiMeIKll4Ek5BRzRsT8e0iTI74tAZKsks5qLyUzgaJpZM4IpQzo .

tobetter commented 8 years ago

@uDude I think you need this patch, https://github.com/tobetter/linux/commit/13c3c926457822b5c61ecbdd2b442cd19fbe6c57

Guys, this is good input for me. Actually I am not very expert at such performance tuning and integration, but very interesting...I don't have ASMedia device, would try to purchase if possible to compare with JMicron.

Please keep me in your track. I hope to share you guys with v4.6 kernel in debian or Ubuntu server on next week if possible.

uDude commented 8 years ago

I have two 4.6 kernels ready to test. I need to obtain an adaptor with a chipset that supports UASP. My ASMEDIA 1053 does not. The 1053E does. I prefer to stick with a chipset that I know works well with the xu4 ss chip.

I'll scour amazon and see what I can find. If this works It will be worth the $$ for me. If you know of one please drop me a line.

On Wed, Jun 15, 2016 at 2:29 AM, Mike Kyle mfkyle@gmail.com wrote:

Change the return value of the function to static int from static void and all is well. I say that w/o testing only that the build completes.

On Wed, Jun 15, 2016 at 1:55 AM, Mike Kyle mfkyle@gmail.com wrote:

Hmmmm,

I do my builds on the XU4 and somewhere in the recent commits the kernel compile is broken. See below:

drivers/phy/phy-exynos5-usbdrd.c: In function ‘exynos5420_usbdrd_phy_calibrate’: drivers/phy/phy-exynos5-usbdrd.c:652:10: warning: ‘return’ with a value, in function returning void return ret; ^ drivers/phy/phy-exynos5-usbdrd.c:666:10: warning: ‘return’ with a value, in function returning void return ret; ^ drivers/phy/phy-exynos5-usbdrd.c:699:9: warning: ‘return’ with a value, in function returning void return ret; ^ drivers/phy/phy-exynos5-usbdrd.c: At top level: drivers/phy/phy-exynos5-usbdrd.c:804:28: error: initialization from incompatible pointer type [-Werror=incompatible-pointer-types] .phy_exynos_calibrate = exynos5420_usbdrd_phy_calibrate, ^ drivers/phy/phy-exynos5-usbdrd.c:804:28: note: (near initialization for ‘exynos5420_usbdrd_phy.phy_exynos_calibrate’)

I didn't think the aufs patch updated the usbdrd. Regardless, when I get a chance I have a separate branch that compiles that I'll enable the requested changes on and let you know. I want to do the speed tests against identical kernels with only that one difference.

I had terrible performance with some jmicro chipsets, but the ASMedia 1053 (no port-multiplier) works great for me.

It will be a few days be patient and I'll get you the requested comparisons. Note my builds giving 140 MB/s (not 140 Mb/s) are using the @tobetter defconfig.

uDude

On Tue, Jun 14, 2016 at 10:03 PM, José Benlloch <notifications@github.com

wrote:

@tobetter https://github.com/tobetter I read some time ago this sunxi article regarding UASP http://linux-sunxi.org/USB/UAS and found interesting why not to get enabled in odroidxu4 if is only a matter of find out a working UAS adapter. After that, @tkaiser from ARMBIAN asked in ODROID Forum http://forum.odroid.com/viewtopic.php?f=97&t=17349 for check the uas performance in OdroidXU4 devices. This is the history behind.

and how you are planning to measure it?

Don't expect more than what I know, like hdparm, dd, iozone, HELIOS LanTest. Basically blocking the uas on kernel module load. @uDude https://github.com/uDude if you have uas enabled, can you try blacklisting the uas module and test performance w/o?

would you mind to share your expectation in terms of the performance

UAS is really performing better than w/o. Check the notes here. http://pastebin.com/aGZyeryT On Lemaker Banana Pro running Kernel 4.6.2 / Ubuntu 16.04 using the USB2.0 ports with JM567 I got around 40MB/S for write and read, what it is worth to consider the re-use of the USB2.0 ports again.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/tobetter/linux/issues/5#issuecomment-226030052, or mute the thread https://github.com/notifications/unsubscribe/AIiMeIKll4Ek5BRzRsT8e0iTI74tAZKsks5qLyUzgaJpZM4IpQzo .

jobenvil commented 8 years ago

Some comments:

I had terrible performance with some jmicro chipsets, but the ASMedia 1053 (no port-multiplier) works great for me.

Yes, but newer JMicron chipsets performs well, see these chipsets here and explained. In the past some UAS ASMedia Chipset were blacklisted. Ensure that you get ASM1153 chip and it will work with UAS.

I want to do the speed tests against identical kernels with only that one difference.

Thats the point. It is not a matter of max read/write results, instead a porcentual gain since the other parameters depend on harddisk model, filesystem, I/O scheduler, mounting flags, etc. Don't expect more gain with UAS if your maximal specifications for your hardrive are already 140MB/s as well

I'll scour amazon and see what I can find. If this works It will be worth the $$ for me. If you know of one please drop me a line.

I have these two which really support UAS. See my third post.

uDude commented 8 years ago

Not sure where I put it, but I have a 1T Samsung Evo sad that should be suitable for the tests. On Jun 15, 2016 2:46 AM, "José Benlloch" notifications@github.com wrote:

Some comments:

I had terrible performance with some jmicro chipsets, but the ASMedia 1053 (no port-multiplier) works great for me.

Yes, but newer JMicron chipsets performs well, see these chipsets here and explained http://linux-sunxi.org/USB/UAS. In the past some UAS ASMedia Chipset were blacklisted. Ensure that you get ASM1153 chip and it will work with UAS.

I want to do the speed tests against identical kernels with only that one difference.

Thats the point. It is not a matter of max read/write results, instead a porcentual gain since the other parameters depend on harddisk model, filesystem, I/O scheduler, mounting flags, etc. Don't expect more gain with UAS if your maximal specifications for your hardrive are already 140MB/s as well

I'll scour amazon and see what I can find. If this works It will be worth the $$ for me. If you know of one please drop me a line.

I have these two which really support UAS. See my third post.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/tobetter/linux/issues/5#issuecomment-226125934, or mute the thread https://github.com/notifications/unsubscribe/AIiMeHB72WgH3MsCwICMIjNn3Xy1lhX4ks5qL7v9gaJpZM4IpQzo .

uDude commented 8 years ago

Regardless, it is clear that UASP should be enabled as a module by default. On Jun 15, 2016 8:26 AM, "Mike Kyle" mfkyle@gmail.com wrote:

Not sure where I put it, but I have a 1T Samsung Evo sad that should be suitable for the tests. On Jun 15, 2016 2:46 AM, "José Benlloch" notifications@github.com wrote:

Some comments:

I had terrible performance with some jmicro chipsets, but the ASMedia 1053 (no port-multiplier) works great for me.

Yes, but newer JMicron chipsets performs well, see these chipsets here and explained http://linux-sunxi.org/USB/UAS. In the past some UAS ASMedia Chipset were blacklisted. Ensure that you get ASM1153 chip and it will work with UAS.

I want to do the speed tests against identical kernels with only that one difference.

Thats the point. It is not a matter of max read/write results, instead a porcentual gain since the other parameters depend on harddisk model, filesystem, I/O scheduler, mounting flags, etc. Don't expect more gain with UAS if your maximal specifications for your hardrive are already 140MB/s as well

I'll scour amazon and see what I can find. If this works It will be worth the $$ for me. If you know of one please drop me a line.

I have these two which really support UAS. See my third post.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/tobetter/linux/issues/5#issuecomment-226125934, or mute the thread https://github.com/notifications/unsubscribe/AIiMeHB72WgH3MsCwICMIjNn3Xy1lhX4ks5qL7v9gaJpZM4IpQzo .

uDude commented 8 years ago

So I got a 1153 device in and used an EVO SSD.

W/O UAS I am getting 185 MB/s, with UAS I am getting 210 MB/s (a 15% increase). Not as attractive as you'd like to see with the EVO, but still screaming fast for an ARM SBC.

uDude

On Wed, Jun 15, 2016 at 2:30 PM, Mike Kyle mfkyle@gmail.com wrote:

Regardless, it is clear that UASP should be enabled as a module by default. On Jun 15, 2016 8:26 AM, "Mike Kyle" mfkyle@gmail.com wrote:

Not sure where I put it, but I have a 1T Samsung Evo sad that should be suitable for the tests. On Jun 15, 2016 2:46 AM, "José Benlloch" notifications@github.com wrote:

Some comments:

I had terrible performance with some jmicro chipsets, but the ASMedia 1053 (no port-multiplier) works great for me.

Yes, but newer JMicron chipsets performs well, see these chipsets here and explained http://linux-sunxi.org/USB/UAS. In the past some UAS ASMedia Chipset were blacklisted. Ensure that you get ASM1153 chip and it will work with UAS.

I want to do the speed tests against identical kernels with only that one difference.

Thats the point. It is not a matter of max read/write results, instead a porcentual gain since the other parameters depend on harddisk model, filesystem, I/O scheduler, mounting flags, etc. Don't expect more gain with UAS if your maximal specifications for your hardrive are already 140MB/s as well

I'll scour amazon and see what I can find. If this works It will be worth the $$ for me. If you know of one please drop me a line.

I have these two which really support UAS. See my third post.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/tobetter/linux/issues/5#issuecomment-226125934, or mute the thread https://github.com/notifications/unsubscribe/AIiMeHB72WgH3MsCwICMIjNn3Xy1lhX4ks5qL7v9gaJpZM4IpQzo .

jobenvil commented 8 years ago

@uDude awesome, quite amazing speeds! If you have some time free, could you please perform these tests:

iozone -a -g 4000m -s 4000m -i 0 -i 1 -r 4K
iozone -a -g 4000m -s 4000m -i 0 -i 1 -r 1024K
iozone -O -i 0 -i 1 -i 2 -e -+n -r 4K -s 2000m

you can install the iozone deb package from here. Ensure before run iozone that CPU 's governor is settled to performance:

cpufreq-set -c 0 -g performance; cpufreq-set -c 4 -g performance

rhkean commented 8 years ago

@jobenvil ,

I've been running the hardkernel 4.2-rc1 kernel with UAS for about 3 months with 12 TB of hard drive space active. I haven't tested with @tobetter 's 4.2 kernel since early April, but I'm pretty sure it worked also. I came over here to see about testing the 4.6 kernel and discovered this discussion.

DietPi.com forum post on speed comparison here

I have 2 Seagate USB3 5TB drives and a 2TB SATA3 drive installed in a VANTEC NST-370A31-BK USB3.1 enclosure.

note the "Driver=uas"

root@keanbean:~# lsusb -t
/:  Bus 06.Port 1: Dev 1, Class=root_hub, Driver=xhci-hcd/1p, 5000M
    |__ Port 1: Dev 2, If 0, Class=Vendor Specific Class, Driver=r8152, 5000M
/:  Bus 05.Port 1: Dev 1, Class=root_hub, Driver=xhci-hcd/1p, 480M
/:  Bus 04.Port 1: Dev 1, Class=root_hub, Driver=xhci-hcd/1p, 5000M
    |__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/2p, 5000M
        |__ Port 1: Dev 3, If 0, Class=Hub, Driver=hub/4p, 5000M
            |__ Port 1: Dev 4, If 0, Class=Hub, Driver=hub/4p, 5000M
                |__ Port 1: Dev 6, If 0, Class=Mass Storage, Driver=uas, 5000M
                |__ Port 2: Dev 7, If 0, Class=Mass Storage, Driver=uas, 5000M
                |__ Port 3: Dev 8, If 0, Class=Mass Storage, Driver=uas, 5000M
            |__ Port 4: Dev 5, If 0, Class=Hub, Driver=hub/4p, 5000M
                |__ Port 1: Dev 9, If 0, Class=Mass Storage, Driver=usb-storage, 5000M
/:  Bus 03.Port 1: Dev 1, Class=root_hub, Driver=xhci-hcd/1p, 480M
    |__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/2p, 480M
        |__ Port 1: Dev 3, If 0, Class=Hub, Driver=hub/4p, 480M
            |__ Port 1: Dev 5, If 0, Class=Hub, Driver=hub/4p, 480M
            |__ Port 4: Dev 6, If 0, Class=Hub, Driver=hub/4p, 480M
/:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=exynos-ohci/3p, 12M
    |__ Port 1: Dev 2, If 0, Class=Wireless, Driver=btusb, 12M
    |__ Port 1: Dev 2, If 1, Class=Wireless, Driver=btusb, 12M
/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=exynos-ehci/3p, 480M
jobenvil commented 8 years ago

@rhkean thanks for the comments. Yes, indeed in my 3rd post, it is indicated that both enclosures work properly with uas. Earlier kernels <4 has already support on UAS.Yes, HardKernel odroidx4_defconfig has UAS module not activated. It is necessary to enable it. This could be a easy PR ;-) If you have time, can you test with iozone commands.

rhkean commented 8 years ago

how does iozone work? There's no option to specify a device to test? And the man page makes reference system-wide performance. If that is the case, wouldn't it be testing all drives and averaging them? And, if that is so, wouldn't that include your boot device which could be pretty slow if you're using a sub-class-10 uSD?

Anyhow... tests are running... I'll paste the results when i have them.

rhkean commented 8 years ago

nevermind... I'm an idiot.... It just clicked in my head that the test is dependent on $PWD

rhkean commented 8 years ago

Here's from one of the Seagate Expansion 5TB drive

root@keanbean:/srv/data/data2# cpufreq-info -o
          minimum CPU frequency  -  maximum CPU frequency  -  governor
CPU  0       200000 kHz ( 14 %)  -    1400000 kHz (100 %)  -  performance
CPU  1       200000 kHz ( 10 %)  -    2000000 kHz (100 %)  -  performance
CPU  2       200000 kHz ( 10 %)  -    2000000 kHz (100 %)  -  performance
CPU  3       200000 kHz ( 10 %)  -    2000000 kHz (100 %)  -  performance
CPU  4       200000 kHz ( 10 %)  -    2000000 kHz (100 %)  -  performance
CPU  5       200000 kHz ( 14 %)  -    1400000 kHz (100 %)  -  performance
CPU  6       200000 kHz ( 14 %)  -    1400000 kHz (100 %)  -  performance
CPU  7       200000 kHz ( 14 %)  -    1400000 kHz (100 %)  -  performance
root@keanbean:/srv/data/data2# iozone -a -g 4000m -s 4000m -i 0 -i 1 -r 4K
        Iozone: Performance Test of File I/O
                Version $Revision: 3.397 $
                Compiled for 32 bit mode.
                Build: linux

        Contributors:William Norcott, Don Capps, Isom Crawford, Kirby Collins
                     Al Slater, Scott Rhine, Mike Wisner, Ken Goss
                     Steve Landherr, Brad Smith, Mark Kelly, Dr. Alain CYR,
                     Randy Dunlap, Mark Montague, Dan Million, Gavin Brebner,
                     Jean-Marc Zucconi, Jeff Blomberg, Benny Halevy, Dave Boone,
                     Erik Habbinga, Kris Strecker, Walter Wong, Joshua Root,
                     Fabrice Bacchella, Zhenghua Xue, Qin Li, Darren Sawyer.
                     Ben England.

        Run began: Tue Jun 21 22:28:18 2016

        Auto Mode
        Using maximum file size of 4096000 kilobytes.
        File size set to 4096000 KB
        Record Size 4 KB
        Command line used: iozone -a -g 4000m -s 4000m -i 0 -i 1 -r 4K
        Output is in Kbytes/sec
        Time Resolution = 0.000001 seconds.
        Processor cache size set to 1024 Kbytes.
        Processor cache line size set to 32 bytes.
        File stride size set to 17 * record size.
                                                            random  random    bkwd   record   stride
              KB  reclen   write rewrite    read    reread    read   write    read  rewrite     read   fwrite frewrite   fread  freread
         4096000       4   94362  102709    71886    71798

iozone test complete.
root@keanbean:/srv/data/data2# iozone -a -g 4000m -s 4000m -i 0 -i 1 -r 1024K
        Iozone: Performance Test of File I/O
                Version $Revision: 3.397 $
                Compiled for 32 bit mode.
                Build: linux

        Contributors:William Norcott, Don Capps, Isom Crawford, Kirby Collins
                     Al Slater, Scott Rhine, Mike Wisner, Ken Goss
                     Steve Landherr, Brad Smith, Mark Kelly, Dr. Alain CYR,
                     Randy Dunlap, Mark Montague, Dan Million, Gavin Brebner,
                     Jean-Marc Zucconi, Jeff Blomberg, Benny Halevy, Dave Boone,
                     Erik Habbinga, Kris Strecker, Walter Wong, Joshua Root,
                     Fabrice Bacchella, Zhenghua Xue, Qin Li, Darren Sawyer.
                     Ben England.

        Run began: Tue Jun 21 22:31:40 2016

        Auto Mode
        Using maximum file size of 4096000 kilobytes.
        File size set to 4096000 KB
        Record Size 1024 KB
        Command line used: iozone -a -g 4000m -s 4000m -i 0 -i 1 -r 1024K
        Output is in Kbytes/sec
        Time Resolution = 0.000001 seconds.
        Processor cache size set to 1024 Kbytes.
        Processor cache line size set to 32 bytes.
        File stride size set to 17 * record size.
                                                            random  random    bkwd   record   stride
              KB  reclen   write rewrite    read    reread    read   write    read  rewrite     read   fwrite frewrite   fread  freread
         4096000    1024  107345  110874   104107   108021

iozone test complete.
root@keanbean:/srv/data/data2# iozone -O -i 0 -i 1 -i 2 -e -+n -r 4K -s 2000m
        Iozone: Performance Test of File I/O
                Version $Revision: 3.397 $
                Compiled for 32 bit mode.
                Build: linux

        Contributors:William Norcott, Don Capps, Isom Crawford, Kirby Collins
                     Al Slater, Scott Rhine, Mike Wisner, Ken Goss
                     Steve Landherr, Brad Smith, Mark Kelly, Dr. Alain CYR,
                     Randy Dunlap, Mark Montague, Dan Million, Gavin Brebner,
                     Jean-Marc Zucconi, Jeff Blomberg, Benny Halevy, Dave Boone,
                     Erik Habbinga, Kris Strecker, Walter Wong, Joshua Root,
                     Fabrice Bacchella, Zhenghua Xue, Qin Li, Darren Sawyer.
                     Ben England.

        Run began: Tue Jun 21 22:34:17 2016

        OPS Mode. Output is in operations per second.
        Include fsync in write timing
        No retest option selected
        Record Size 4 KB
        File size set to 2048000 KB
        Command line used: iozone -O -i 0 -i 1 -i 2 -e -+n -r 4K -s 2000m
        Time Resolution = 0.000001 seconds.
        Processor cache size set to 1024 Kbytes.
        Processor cache line size set to 32 bytes.
        File stride size set to 17 * record size.
                                                            random  random    bkwd   record   stride
              KB  reclen   write rewrite    read    reread    read   write    read  rewrite     read   fwrite frewrite   fread  freread
         2048000       4   25653       0    23837        0     329    1007

iozone test complete.
uDude commented 8 years ago

I would use 40GB rather than 10. The reason performance a hours jump abbot 60 or 70%. The write performance will stay in the 15 to 30 percent increaae.

I'll try \of get to iozone testing on identical @tobetter 4.2 kernel with and w/o uas. Informal testing shows noticeable increases using an EVO 840 1T SSD. Hard numbers coming from a setup here. On Jun 21, 2016 10:14 PM, "Robert Kean" notifications@github.com wrote:

Here's from one of the Seagate Expansion 5TB drive

root@keanbean:/srv/data/data2# cpufreq-info -o minimum CPU frequency - maximum CPU frequency - governor CPU 0 200000 kHz ( 14 %) - 1400000 kHz (100 %) - performance CPU 1 200000 kHz ( 10 %) - 2000000 kHz (100 %) - performance CPU 2 200000 kHz ( 10 %) - 2000000 kHz (100 %) - performance CPU 3 200000 kHz ( 10 %) - 2000000 kHz (100 %) - performance CPU 4 200000 kHz ( 10 %) - 2000000 kHz (100 %) - performance CPU 5 200000 kHz ( 14 %) - 1400000 kHz (100 %) - performance CPU 6 200000 kHz ( 14 %) - 1400000 kHz (100 %) - performance CPU 7 200000 kHz ( 14 %) - 1400000 kHz (100 %) - performance root@keanbean:/srv/data/data2# iozone -a -g 4000m -s 4000m -i 0 -i 1 -r 4K Iozone: Performance Test of File I/O Version $Revision: 3.397 $ Compiled for 32 bit mode. Build: linux

    Contributors:William Norcott, Don Capps, Isom Crawford, Kirby Collins
                 Al Slater, Scott Rhine, Mike Wisner, Ken Goss
                 Steve Landherr, Brad Smith, Mark Kelly, Dr. Alain CYR,
                 Randy Dunlap, Mark Montague, Dan Million, Gavin Brebner,
                 Jean-Marc Zucconi, Jeff Blomberg, Benny Halevy, Dave Boone,
                 Erik Habbinga, Kris Strecker, Walter Wong, Joshua Root,
                 Fabrice Bacchella, Zhenghua Xue, Qin Li, Darren Sawyer.
                 Ben England.

    Run began: Tue Jun 21 22:28:18 2016

    Auto Mode
    Using maximum file size of 4096000 kilobytes.
    File size set to 4096000 KB
    Record Size 4 KB
    Command line used: iozone -a -g 4000m -s 4000m -i 0 -i 1 -r 4K
    Output is in Kbytes/sec
    Time Resolution = 0.000001 seconds.
    Processor cache size set to 1024 Kbytes.
    Processor cache line size set to 32 bytes.
    File stride size set to 17 * record size.
                                                        random  random    bkwd   record   stride
          KB  reclen   write rewrite    read    reread    read   write    read  rewrite     read   fwrite frewrite   fread  freread
     4096000       4   94362  102709    71886    71798

iozone test complete. root@keanbean:/srv/data/data2# iozone -a -g 4000m -s 4000m -i 0 -i 1 -r 1024K Iozone: Performance Test of File I/O Version $Revision: 3.397 $ Compiled for 32 bit mode. Build: linux

    Contributors:William Norcott, Don Capps, Isom Crawford, Kirby Collins
                 Al Slater, Scott Rhine, Mike Wisner, Ken Goss
                 Steve Landherr, Brad Smith, Mark Kelly, Dr. Alain CYR,
                 Randy Dunlap, Mark Montague, Dan Million, Gavin Brebner,
                 Jean-Marc Zucconi, Jeff Blomberg, Benny Halevy, Dave Boone,
                 Erik Habbinga, Kris Strecker, Walter Wong, Joshua Root,
                 Fabrice Bacchella, Zhenghua Xue, Qin Li, Darren Sawyer.
                 Ben England.

    Run began: Tue Jun 21 22:31:40 2016

    Auto Mode
    Using maximum file size of 4096000 kilobytes.
    File size set to 4096000 KB
    Record Size 1024 KB
    Command line used: iozone -a -g 4000m -s 4000m -i 0 -i 1 -r 1024K
    Output is in Kbytes/sec
    Time Resolution = 0.000001 seconds.
    Processor cache size set to 1024 Kbytes.
    Processor cache line size set to 32 bytes.
    File stride size set to 17 * record size.
                                                        random  random    bkwd   record   stride
          KB  reclen   write rewrite    read    reread    read   write    read  rewrite     read   fwrite frewrite   fread  freread
     4096000    1024  107345  110874   104107   108021

iozone test complete. root@keanbean:/srv/data/data2# iozone -O -i 0 -i 1 -i 2 -e -+n -r 4K -s 2000m Iozone: Performance Test of File I/O Version $Revision: 3.397 $ Compiled for 32 bit mode. Build: linux

    Contributors:William Norcott, Don Capps, Isom Crawford, Kirby Collins
                 Al Slater, Scott Rhine, Mike Wisner, Ken Goss
                 Steve Landherr, Brad Smith, Mark Kelly, Dr. Alain CYR,
                 Randy Dunlap, Mark Montague, Dan Million, Gavin Brebner,
                 Jean-Marc Zucconi, Jeff Blomberg, Benny Halevy, Dave Boone,
                 Erik Habbinga, Kris Strecker, Walter Wong, Joshua Root,
                 Fabrice Bacchella, Zhenghua Xue, Qin Li, Darren Sawyer.
                 Ben England.

    Run began: Tue Jun 21 22:34:17 2016

    OPS Mode. Output is in operations per second.
    Include fsync in write timing
    No retest option selected
    Record Size 4 KB
    File size set to 2048000 KB
    Command line used: iozone -O -i 0 -i 1 -i 2 -e -+n -r 4K -s 2000m
    Time Resolution = 0.000001 seconds.
    Processor cache size set to 1024 Kbytes.
    Processor cache line size set to 32 bytes.
    File stride size set to 17 * record size.
                                                        random  random    bkwd   record   stride
          KB  reclen   write rewrite    read    reread    read   write    read  rewrite     read   fwrite frewrite   fread  freread
     2048000       4   25653       0    23837        0     329    1007

iozone test complete.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/tobetter/linux/issues/5#issuecomment-227638607, or mute the thread https://github.com/notifications/unsubscribe/AIiMeDehqax4ZNlqZc3PIUqscgtOwFOYks5qOLajgaJpZM4IpQzo .

jobenvil commented 8 years ago

@uDude Info: for me was not working blocking the uas module. When I blocked it, the device was not listed and therefore not possible to test. It was necessary to recompile.

uDude commented 8 years ago

I tested with separate kernels, as well. On Jun 22, 2016 12:03 AM, "José Benlloch" notifications@github.com wrote:

@uDude https://github.com/uDude Info: for me was not working blocking the uas module. When I blocked it, the device was not listed and therefore not possible to test. It was necessary to recompile.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/tobetter/linux/issues/5#issuecomment-227651669, or mute the thread https://github.com/notifications/unsubscribe/AIiMePuPU59D2ywEMhho0a8AMq55__V1ks5qONApgaJpZM4IpQzo .

rhkean commented 8 years ago

VANTEC NST-370A31-BK USB 3.1 enclosure

chipset: Bus 004 Device 008: ID 174c:1351 ASMedia Technology Inc. ASM1351 chipset

interestingly, the writes are a 2-15% slower, but the reads are 40-45% faster iozone -a -g 4000m -s 4000m -i 0 -i 1 -r 4K

module write rewrite read reread
usb-storage 184369 194620 144026 145958
uas 171599 185977 208177 212003

iozone -a -g 4000m -s 4000m -i 0 -i 1 -r 1024K

module write rewrite read reread
usb-storage 189773 193279 147610 150657
uas 161176 189238 211724 212117

iozone -O -i 0 -i 1 -i 2 -e -+n -r 4K -s 2000m

module write rewrite read reread random read random write
usb-storage 45745 0 36518 0 294 224
uas 39719 0 51881 0 330 225
jobenvil commented 8 years ago

@rhkean is the second iozone command with 4kor 1024k? Is your Kernel still 4.2-rc1? Your info is very wellcome, since I don't have such performant harddrives or enclosures. I'm observing right now that independently of the uas, the results are tinted or oscillating to much -in my case- because the properly task distribution of the tasks in the diferent type of CPUs. Because less frequency cores are being used and they get in some point of the tests saturated. I tested harddisk and adapters in another ARMv7 SoC with two equal cores and the results were not oscillating so much.

rhkean commented 8 years ago

is the second iozone command with 4kor 1024k?

1024K .... sorry, bad copy/paste.

Is your Kernel still 4.2-rc1?

user1@odroidxu4:~$ uname -a
Linux odroidxu4.local.net 4.2.0-rc1+ #2 SMP PREEMPT Sun Jun 19 08:42:58 BST 2016 armv7l GNU/Linux
rhkean commented 8 years ago

I tried testing with this 4.6 kernel, but I can't get it to boot.... I opened a separate ticket for that, though (see #6 ).

tobetter commented 8 years ago

Hello, please visit the link if you guys want to try another Debian/Ubuntu image on ODROID-XU4. Please keep in mind that the images would have many bugs and not stable enough for your purpose. Any feedback would be welcomed. :)

http://linuxfactory.or.kr/dokuwiki/doku.php?id=yet_another_debian_ubuntu_release_for_odroid-xu4&#pre-installed_packages

jobenvil commented 7 years ago

Considering following test setup:

Tested OdroidXU4 branches:

  1. Kernel: ioft/linux branch || Kernel 4.8-rc5 || default odroidxu4_defconfig with UAS Support
  2. Kernel: tobetter/linux branch || kernel 4.8-rc5+ || default odroidxu4_defconfig without UAS

1) Performance on SSD:

Command line tests:

1.- iozone -e -I -a -s 100M -r 4k -r 16k -r 32k -r 512k -r 1024k -r 16384k -i 0 -i 1 -i 2

KB reclen write rewrite read reread random read random write
102400 4 15085 14353 16074 16183 14223 14199
102400 16 44326 52025 49768 49678 48749 51244
102400 32 76708 77953 80884 78109 78348 84464
102400 512 192734 200385 169273 172458 177746 209328
102400 1024 188233 207142 176447 176386 176189 211852
102400 16384 163030 215054 178055 178316 178484 215469
KB reclen write rewrite read reread random read random write
102400 4 15919 18279 22359 22342 17333 21088
102400 16 60395 63605 71811 71835 57757 64621
102400 32 98007 104145 104709 104633 87834 105577
102400 512 211427 229984 188341 188498 185005 238125
102400 1024 255740 259705 226446 226927 224105 269753
102400 16384 260751 333293 317813 317566 317351 334061

2.- dd if=/dev/zero of=test oflag=direct bs=8M count=64 && dd if=test of=/dev/null iflag=direct bs=8M && rm test

536870912 bytes (537 MB, 512 MiB) copied, 3,40853 s, 158 MB/s for Write 536870912 bytes (537 MB, 512 MiB) copied, 2,85195 s, 188 MB/s for Read

536870912 bytes (537 MB, 512 MiB) copied, 1,98129 s, 271 MB/s for Write 536870912 bytes (537 MB, 512 MiB) copied, 1,86621 s, 288 MB/s for Read

3.- hdparm -tT /dev/sda1 and hdparm -t --direct /dev/sda1

Timing cached reads:   872 MB in  2.00 seconds = 435.31 MB/sec
Timing buffered disk reads: 596 MB in  3.00 seconds = 198.48 MB/sec
Timing O_DIRECT disk reads: 514 MB in  3.00 seconds = 171.30 MB/sec
Timing cached reads:   856 MB in  2.00 seconds = 427.38 MB/sec
Timing buffered disk reads: 806 MB in  3.01 seconds = 268.12 MB/sec
Timing O_DIRECT disk reads: 652 MB in  3.00 seconds = 217.14 MB/sec

4.- HELIOS LanTest (SAMBA):

tobetter 4 8-rc5 lantest ssd

ioft 4 8-rc5 lantest ssd

2) Performance on MicroSDHC

Command line tests:

1.- iozone -e -I -a -s 100M -r 4k -r 16k -r 32k -r 512k -r 1024k -r 16384k -i 0 -i 1 -i 2

KB reclen write rewrite read reread random read random write
102400 4 4252 4209 12177 12176 12131 4330
102400 16 19081 20295 31904 31571 32115 20364
102400 32 30360 30919 38230 38046 37685 31072
102400 512 57890 58322 65399 65356 65384 58563
102400 1024 59893 59565 67419 67416 67378 60509
102400 16384 58663 63522 75495 75465 75496 63752
KB reclen write rewrite read reread random read random write
102400 4 2159 2746 8168 8100 8166 2845
102400 16 10498 11342 15344 15277 15579 11504
102400 32 13997 14942 17800 17840 17729 14593
102400 512 19671 19739 21763 21764 21756 20550
102400 1024 19020 19938 21965 21982 21980 20705
102400 16384 20199 21383 22791 22776 22791 21413

2.- dd if=/dev/zero of=test oflag=direct bs=8M count=64 && dd if=test of=/dev/null iflag=direct bs=8M && rm test

536870912 bytes (537 MB, 512 MiB) copied, 25,1051 s, 21,4 MB/s for Write 536870912 bytes (537 MB, 512 MiB) copied, 6,92232 s, 77,6 MB/s for Read

536870912 bytes (537 MB, 512 MiB) copied, 35,2372 s, 15,2 MB/s for Write 536870912 bytes (537 MB, 512 MiB) copied, 23,0035 s, 23,3 MB/s for Read

3.- hdparm -tT /dev/mmcblk1p2 and hdparm -t --direct /dev/mmcblk1p2

Timing cached reads:   854 MB in  2.00 seconds = 426.94 MB/sec
Timing buffered disk reads: 180 MB in  3.02 seconds =  59.55 MB/sec
Timing O_DIRECT disk reads: 178 MB in  3.02 seconds =  59.02 MB/sec
Timing cached reads:   814 MB in  2.00 seconds = 406.69 MB/sec
Timing buffered disk reads:  64 MB in  3.04 seconds =  21.03 MB/sec
Timing O_DIRECT disk reads:  64 MB in  3.01 seconds =  21.29 MB/sec

4.- HELIOS LanTest (SAMBA):

tobetter 4 8-rc5 lantest usdhc

ioft 4 8-rc5 lantest usdhc


Having:

  1. Samba configuration
derkostka commented 7 years ago

Nice documentation. Thanks, especially the UHS-I patch seems to perform good.

By the way, the link to iozone is dead, but is is available here, also:

http://launchpadlibrarian.net/118371464/iozone3_397-2ubuntu1_armhf.deb

jobenvil commented 7 years ago

@derkostka Much appreciated. iozone link was rectified. Thanks!