mmc testing results

Seth Jennings spartacus06 at gmail.com
Sat Jun 23 01:47:42 EDT 2012


Hey Simon,

The topic on the IRC raspberrypi-dev channel indicated you were
looking for some people to test rpi-linear with mmc_test and mmcblk
with a filesystem on it, so here are some results for you.

4GB SanDisk Extreme III SHDC Class 6

Kernel is rpi-linear with HEAD 40030af4

Get this during boot, issue with my card I guess:

mmc0: error -110 whilst initialising SD card at 50000000Hz
mmc0: error -110 whilst initialising SD card at 50000000Hz
mmc0: error -110 whilst initialising SD card at 50000000Hz
mmc0: card init has failed 3 times, no longer trying high speed mode
mmc0: new SDHC card at address f8f2
mmcblk0: mmc0:f8f2 SD04G 3.79 GiB
 mmcblk0: p1 p2

mmc_test results:

mmc0: Test case 1. Basic write (no data verification)...
mmc0: Result: OK
mmc0: Test case 2. Basic read (no data verification)...
mmc0: Result: OK
mmc0: Test case 3. Basic write (with data verification)...
mmc0: Result: OK
mmc0: Test case 4. Basic read (with data verification)...
mmc0: Result: OK
mmc0: Test case 5. Multi-block write...
mmc0: Result: OK
mmc0: Test case 6. Multi-block read...
mmc0: Result: OK
mmc0: Test case 7. Power of two block writes...
mmc0: Result: UNSUPPORTED (by card)
mmc0: Test case 8. Power of two block reads...
mmc0: Result: UNSUPPORTED (by card)
mmc0: Test case 9. Weird sized block writes...
mmc0: Result: UNSUPPORTED (by card)
mmc0: Test case 10. Weird sized block reads...
mmc0: Result: UNSUPPORTED (by card)
mmc0: Test case 11. Badly aligned write...
mmc0: Result: OK
mmc0: Test case 12. Badly aligned read...
mmc0: Result: OK
mmc0: Test case 13. Badly aligned multi-block write...
mmc0: Result: OK
mmc0: Test case 14. Badly aligned multi-block read...
mmc0: Result: OK
mmc0: Test case 15. Correct xfer_size at write (start failure)...
mmc0: Result: ERROR (-84)
mmc0: Test case 16. Correct xfer_size at read (start failure)...
mmc0: Result: OK
mmc0: Test case 17. Correct xfer_size at write (midway failure)...
mmc0: Result: ERROR (-84)
mmc0: Test case 18. Correct xfer_size at read (midway failure)...
mmc0: Result: OK
mmc0: Test case 19. Highmem write...
mmc0: Result: OK
mmc0: Test case 20. Highmem read...
mmc0: Result: OK
mmc0: Test case 21. Multi-block highmem write...
mmc0: Result: OK
mmc0: Test case 22. Multi-block highmem read...
mmc0: Result: OK
mmc0: Test case 23. Best-case read performance...
mmc0: Result: OK
mmc0: Test case 24. Best-case write performance...
mmc0: Result: OK
mmc0: Test case 25. Best-case read performance into scattered pages...
mmc0: Result: OK
mmc0: Test case 26. Best-case write performance from scattered pages...
mmc0: Result: OK
mmc0: Test case 27. Single read performance by transfer size...
mmc0: Result: OK
mmc0: Test case 28. Single write performance by transfer size...
mmc0: Result: OK
mmc0: Test case 29. Single trim performance by transfer size...
mmc0: Result: UNSUPPORTED (by card)
mmc0: Test case 30. Consecutive read performance by transfer size...
mmc0: Result: OK
mmc0: Test case 31. Consecutive write performance by transfer size...
mmc0: Result: OK
mmc0: Test case 32. Consecutive trim performance by transfer size...
mmc0: Result: UNSUPPORTED (by card)
mmc0: Test case 33. Random read performance by transfer size...
mmc0: Result: OK
mmc0: Test case 34. Random write performance by transfer size...
mmc0: Result: OK
mmc0: Test case 35. Large sequential read into scattered pages...
mmc0: Result: OK
mmc0: Test case 36. Large sequential write from scattered pages...
mmc0: Result: OK
mmc0: Test case 37. Write performance with blocking req 4k to 4MB...
mmc0: Result: OK
mmc0: Test case 38. Write performance with non-blocking req 4k to 4MB...
mmc0: Result: OK
mmc0: Test case 39. Read performance with blocking req 4k to 4MB...
mmc0: Result: OK
mmc0: Test case 40. Read performance with non-blocking req 4k to 4MB...
mmc0: Result: OK
mmc0: Test case 41. Write performance blocking req 1 to 512 sg elems...
mmc0: Result: OK
mmc0: Test case 42. Write performance non-blocking req 1 to 512 sg elems...
mmc0: Result: OK
mmc0: Test case 43. Read performance blocking req 1 to 512 sg elems...
mmc0: Result: OK
mmc0: Test case 44. Read performance non-blocking req 1 to 512 sg elems...
mmc0: Result: OK
mmc0: Test case 45. eMMC hardware reset...
mmc0: Result: UNSUPPORTED (by card)

So 15 and 17 fail with -84.

Performance:

During test case 44 above I was getting 11849 kB/s (22.6 IOPS) peak

# hdparm -Tt /dev/mmcblk0
/dev/mmcblk0:
Timing buffer-cache reads:   100 MB in 0.51 seconds = 197160 kB/s
Timing buffered disk reads:   32 MB in 3.03 seconds = 10809 kB/s

ext2 on mmcblk0p2:
write:
# time dd if=/dev/zero of=zeroes bs=128k count=1k
1024+0 records in
1024+0 records out
real    0m 18.35s
user    0m 0.02s
sys     0m 2.32s
6.98MB/s
read:
# echo 3 > /proc/sys/vm/drop_caches
# time dd if=zeroes of=/dev/null bs=128k count=1k
1024+0 records in
1024+0 records out
real    0m 12.06s
user    0m 0.00s
sys     0m 1.64s
10.6MB/s

--
Seth



More information about the linux-rpi-kernel mailing list