Open jobenvil opened 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.
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.
Hey @jobenvil,
What's the product of ASM1153? Any reason you have to use ASM1153, not JMS567?
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
:
lsusb -v
JM567: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.
@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
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.
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 .
@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?
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 .
@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.
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 .
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 .
@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.
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 .
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.
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 .
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 .
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 .
@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
@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
@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.
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.
nevermind... I'm an idiot.... It just clicked in my head that the test is dependent on $PWD
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.
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 .
@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.
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 .
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 |
@rhkean is the second iozone
command with 4k
or 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.
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
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 ).
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. :)
Considering following test setup:
idProduct ASMT1051
(0x55aa ASM1051E SATA 6Gb/s bridge, ASM1053E SATA 6Gb/s bridge, ASM1153 SATA 3Gb/s bridge
)Tested OdroidXU4 branches:
ioft/linux
branch || Kernel 4.8-rc5
|| default odroidxu4_defconfig
with UAS Supporttobetter/linux
branch || kernel 4.8-rc5+
|| default odroidxu4_defconfig
without UASCommand 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):
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):
Having:
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
@derkostka Much appreciated. iozone link was rectified. Thanks!
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!