Performance

OdroidXU4 Performance tests w and w/o UAS

6. April 2017 Performance No comments

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:

  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
  3. Kernel: mdjr/linux branch || kernel 4.9.17-g99d8f52 || default odroidxu4_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:

tobetter 4 8-rc5 lantest ssd

  • Results ioft 4.8-rc5 Kernel:

ioft 4 8-rc5 lantest ssd

  • Results mdjr 4.9.17 Kernel:

mdjr 4.9.17 Kernel lantest ssd

5.- Windows Client (Windows 10 x64 + SSD + 1GBE) to OdroidXU4 acting like a NAS:

  • Results mdjr 4.9.17 Kernel:

From OdroidXU4 to Windows 10

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:

tobetter 4 8-rc5 lantest usdhc

  • Results ioft 4.8-rc5 Kernel:

ioft 4 8-rc5 lantest usdhc

  • Results mdjr 4.9.17 Kernel:

mdjr 4.9.17 Kernel lantest ssd


Having:
1. Samba configuration

Performance tests on several mainline kernels

21. Oktober 2016 Performance No comments

Testing OdroidXU4 4.8 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)

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

  • Results without uas (usb-storage modus):
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:
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

  • 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

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

4.- HELIOS LanTest (SAMBA):

  • Results tobetter 4.8-rc5 Kernel:

tobetter 4 8-rc5 lantest ssd

  • Results ioft 4.8-rc5 Kernel:

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

  • 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

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

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

4.- HELIOS LanTest (SAMBA):

  • Results tobetter 4.8-rc5 Kernel:

tobetter 4 8-rc5 lantest usdhc

  • Results ioft 4.8-rc5 Kernel:

ioft 4 8-rc5 lantest usdhc


Having:
1. Samba configuration