Testing OdroidXU4 4.8 and 4.9 Kernels with and without UAS Support
Considering following test setup:
- cpufreq-set to performance both A7&A15 cores
- MicroSDHC 32GB EVO Plus UHS-I Grade 1 Class 10, date: 07/2016
- SSD Samsung 850 EVO 500GB, Firmware Revision EMT02B6Q
- USB3/SATA6 enclousure:
idProduct ASMT1051
(0x55aa ASM1051E SATA 6Gb/s bridge, ASM1053E SATA 6Gb/s bridge, ASM1153 SATA 3Gb/s bridge
) - UAS Module enabled (m/y) inside default odroidxu4 kernel configuration file, which is
odroidxu4_defconfig
. To enable it:CONFIG_USB_UAS=y
Tested OdroidXU4 branches and kernels:
- Kernel:
ioft/linux
branch ||Kernel 4.8-rc5
|| defaultodroidxu4_defconfig
with UAS Support - Kernel:
tobetter/linux
branch ||kernel 4.8-rc5+
|| defaultodroidxu4_defconfig
without UAS - Kernel:
mdjr/linux
branch ||kernel 4.9.17-g99d8f52
|| defaultodroidxu4_defconfig
with UAS Support
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
- Results without uas (usb-storage modus in 4.8-rc5+@tobetter/linux):
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 |
- Results with with uas (4.8-rc5@ioft/linux):
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 |
- Results with with uas (4.9.17@mdjr/linux):
KB | reclen | write | rewrite | read | reread | random read | random write |
---|---|---|---|---|---|---|---|
102400 | 4 | 16145 | 17987 | 17981 | 17988 | 16053 | 18199 |
102400 | 16 | 48094 | 50741 | 64120 | 64052 | 53454 | 51044 |
102400 | 32 | 80912 | 84197 | 96651 | 96109 | 83531 | 85322 |
102400 | 512 | 214920 | 216673 | 182670 | 182768 | 179920 | 223095 |
102400 | 1024 | 239156 | 239520 | 215364 | 215577 | 213541 | 247872 |
102400 | 16384 | 250283 | 311905 | 300084 | 299229 | 299426 | 305817 |
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
- Results tobetter 4.8-rc5 Kernel:
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
- Results ioft 4.8-rc5 Kernel:
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
- Results mdjr 4.9.17 Kernel:
536870912 bytes (537 MB, 512 MiB) copied, 2,14228 s, 251 MB/s
for Write
536870912 bytes (537 MB, 512 MiB) copied, 2,03682 s, 264 MB/s
for Read
3.- hdparm -tT /dev/sda1
and hdparm -t --direct /dev/sda1
- Results tobetter 4.8-rc5 Kernel:
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
- Results ioft 4.8-rc5 Kernel:
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
- Results mdjr 4.9.17 Kernel:
Timing cached reads: 2114 MB in 2.00 seconds = 1058.35 MB/sec
Timing buffered disk reads: 844 MB in 3.01 seconds = 280.79 MB/sec
Timing O_DIRECT disk reads: 688 MB in 3.00 seconds = 229.18 MB/sec
4.- HELIOS LanTest (SAMBA):
- Results tobetter 4.8-rc5 Kernel:
- Results ioft 4.8-rc5 Kernel:
- Results mdjr 4.9.17 Kernel:
5.- Windows Client (Windows 10 x64 + SSD + 1GBE) to OdroidXU4 acting like a NAS:
- Results mdjr 4.9.17 Kernel:
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
- Results tobetter 4.8-rc5 Kernel with awesome UHS-I patch:
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 |
- Results ioft 4.8-rc5 Kernel:
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 |
- Results mdjr 4.9.17 Kernel:
KB | reclen | write | rewrite | read | reread | random read | random write |
---|---|---|---|---|---|---|---|
102400 | 4 | 1733 | 4212 | 12403 | 12193 | 12360 | 4188 |
102400 | 16 | 10258 | 13938 | 31158 | 30802 | 31003 | 19497 |
102400 | 32 | 30364 | 30841 | 38515 | 38699 | 38930 | 30155 |
102400 | 512 | 60132 | 59926 | 67157 | 67281 | 67149 | 59403 |
102400 | 1024 | 62171 | 62157 | 69224 | 69231 | 69253 | 62689 |
102400 | 16384 | 62102 | 64792 | 74879 | 74996 | 75005 | 65017 |
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
- Results tobetter 4.8-rc5 Kernel (has UHS-I patch. dmesg like ultra high speed):
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
- Results ioft 4.8-rc5 Kernel (it doesn’t have UHS-I patch. dmesg like high speed):
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
- Results mdjr 4.9.17 Kernel (has UHS-I patch. dmesg like ultra high speed):
536870912 bytes (537 MB, 512 MiB) copied, 19,3599 s, 27,7 MB/s
for Write
536870912 bytes (537 MB, 512 MiB) copied, 7,06025 s, 76,0 MB/s
for Read
3.- hdparm -tT /dev/mmcblk1p2
and hdparm -t --direct /dev/mmcblk1p2
- Results tobetter 4.8-rc5 Kernel:
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
- Results ioft 4.8-rc5 Kernel:
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
- Results mdjr 4.9.17 Kernel:
Timing cached reads: 2078 MB in 2.00 seconds = 1039.53 MB/sec
Timing buffered disk reads: 168 MB in 3.01 seconds = 55.81 MB/sec
Timing O_DIRECT disk reads: 178 MB in 3.03 seconds = 58.79 MB/sec
4.- HELIOS LanTest (SAMBA):
- Results tobetter 4.8-rc5 Kernel:
- Results ioft 4.8-rc5 Kernel:
- Results mdjr 4.9.17 Kernel:
Having:
1. Samba configuration