On Saturday 19 February 2011 00:17:51 Andrei Warkentin wrote:
> # echo 0 > /sys/block/mmcblk0/device/page_size
> # ./flashbench -A -b 1024 /dev/block/mmcblk0p9
> write align 8388608 pre 3.59ms on 6.54ms post 3.65ms diff
> 2.92ms
> write align 4194304 pre 4.13ms on 7.37ms post 4.27ms diff
> 3.17ms
> write align 2097152 pre 3.62ms on 6.81ms post 3.94ms diff
> 3.03ms
> write align 1048576 pre 3.62ms on 6.53ms post 3.55ms diff
> 2.95ms
> write align 524288 pre 3.62ms on 6.51ms post 3.63ms diff
> 2.88ms
> write align 262144 pre 3.62ms on 6.51ms post 3.63ms diff
> 2.89ms
> write align 131072 pre 3.62ms on 6.5ms post 3.63ms diff
> 2.88ms
> write align 65536 pre 3.61ms on 6.49ms post 3.62ms diff
> 2.88ms
> write align 32768 pre 3.61ms on 6.49ms post 3.61ms diff
> 2.88ms
> write align 16384 pre 3.68ms on 107ms post 3.51ms diff
> 103ms
> write align 8192 pre 3.74ms on 121ms post 3.91ms diff
> 117ms
> write align 4096 pre 3.88ms on 3.87ms post 3.87ms diff
> -2937ns
> write align 2048 pre 3.89ms on 3.88ms post 3.88ms diff
> -8734ns
> # fjnh84@fjnh84-desktop:~/src/n/src/flash$ adb -s 17006185428011d7 shell
> # echo 8192 > /sys/block/mmcblk0/device/page_size
> # cd data
> # ./flashbench -A -b 1024 /dev/block/mmcblk0p9
> write align 8388608 pre 3.33ms on 6.8ms post 3.65ms diff
> 3.31ms
> write align 4194304 pre 4.34ms on 8.14ms post 4.53ms diff
> 3.71ms
> write align 2097152 pre 3.64ms on 7.31ms post 4.09ms diff
> 3.44ms
> write align 1048576 pre 3.65ms on 7.52ms post 3.65ms diff
> 3.87ms
> write align 524288 pre 3.62ms on 6.8ms post 3.63ms diff
> 3.17ms
> write align 262144 pre 3.62ms on 6.84ms post 3.63ms diff
> 3.22ms
> write align 131072 pre 3.62ms on 6.85ms post 3.44ms diff
> 3.32ms
> write align 65536 pre 3.39ms on 6.8ms post 3.66ms diff
> 3.28ms
> write align 32768 pre 3.64ms on 6.86ms post 3.66ms diff
> 3.21ms
> write align 16384 pre 3.67ms on 6.86ms post 3.65ms diff
> 3.2ms
> write align 8192 pre 3.66ms on 6.84ms post 3.64ms diff
> 3.19ms
> write align 4096 pre 3.71ms on 3.71ms post 3.64ms diff
> 38.6µs
> write align 2048 pre 3.71ms on 3.71ms post 3.72ms diff
> -656ns
>
> This was with the split unaligned accesses patch... Which I am
> attaching for comments.
I agree, this is very fascinating behavior. 100ms second latency for a
single 2KB access is definitely something we should try to avoid, and I
wonder why the drive decides to do that. It must get into a state where
it requires an extra garbage collection (you mentioned that earlier).
The numbers you see here are taken over multiple runs. Do you see a lot
of fluctuation when doing this with --count=1?
Also, does the same happen with other blocksizes, e.g. 4096 or 8192, passed
to flashbench?
Arnd
--
To unsubscribe from this list: send the line "unsubscribe linux-mmc" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html