On Tue, Mar 15, 2011 at 02:48:43PM +0100, Arnd Bergmann wrote:
On Tuesday 15 March 2011, Philippe De Muyter wrote:
On Mon, Mar 14, 2011 at 06:13:16PM +0100, Arnd Bergmann wrote: Here are the raw results :
tmp179:~ # for i in `seq 1 10`; do echo $i; ./flashbench --open-au --open-au-nr= $i --erasesize=$[1024 * 1024] /dev/sdb --random; done ... 4 1MiB 5.53M/s 512KiB 5.19M/s 256KiB 4.52M/s 128KiB 4.65M/s 64KiB 5.04M/s 32KiB 4.5M/s 16KiB 4.3M/s 5 1MiB 5.22M/s 512KiB 5.2M/s 256KiB 4.6M/s 128KiB 4.73M/s 64KiB 4.22M/s 32KiB 3.8M/s 16KiB 3.25M/s 6 1MiB 5.27M/s 512KiB 5.08M/s 256KiB 4.11M/s 128KiB 3.28M/s 64KiB 4.05M/s 32KiB 3.52M/s 16KiB 3M/s
It's not completely clear from the data, but I think the difference between 4 and 5 is significant, so I'd mark this card down as having four 1MB segments open, with a question mark. It may be doing something slightly smarter, because I would expect a much sharper drop in performance.
tmp179:~ # ./flashbench --findfat --fat-nr=10 --erasesize=$[1024 * 1024] /dev/sdb --random 1MiB 4.76M/s 5.53M/s 5.53M/s 5.53M/s 5.53M/s 5.53M/s 5.53M/s 5.53M/s 5.53M/s 5.53M/s 512KiB 5.02M/s 4.71M/s 4.42M/s 4.77M/s 4.77M/s 4.77M/s 4.77M/s 4.77M/s 4.9M/s 4.77M/s 256KiB 4.38M/s 4.43M/s 4.59M/s 4.46M/s 4.59M/s 4.59M/s 4.59M/s 4.59M/s 4.9M/s 4.9M/s 128KiB 4.3M/s 4.67M/s 4.55M/s 4.55M/s 4.55M/s 4.55M/s 4.55M/s 4.51M/s 4.57M/s 4.65M/s 64KiB 4.73M/s 4.58M/s 4.64M/s 4.62M/s 4.64M/s 4.64M/s 4.63M/s 4.63M/s 4.59M/s 4.62M/s 32KiB 4.45M/s 4.44M/s 4.45M/s 4.45M/s 4.44M/s 4.46M/s 4.45M/s 4.44M/s 4.43M/s 4.63M/s 16KiB 4.35M/s 4.26M/s 4.27M/s 4.27M/s 4.27M/s 4.27M/s 4.2M/s 4.26M/s 4.26M/s 4.26M/s
The first column seems different from all the other ones, so I'd assume that the card is meant for FAT16 with the FAT stored in the first megabyte, which is reasonable for a 2 GB card.
The one number that is currently missing is the page size. Can you rerun the findfat test with --blocksize=512?
Here you are :
tmp179:~ # ./flashbench --findfat --fat-nr=10 --erasesize=$[1024 * 1024] /dev/sdb --random --blocksize=512 sched_setscheduler: Operation not permitted 1MiB 5.45M/s 5.53M/s 5.55M/s 5.55M/s 5.54M/s 5.55M/s 4.77M/s 4.77M/s 4.44M/s 4.77M/s 512KiB 5.04M/s 5.2M/s 5.04M/s 4.79M/s 4.92M/s 4.92M/s 4.61M/s 4.61M/s 4.85M/s 4.85M/s 256KiB 4.4M/s 4.44M/s 4.6M/s 4.47M/s 4.91M/s 4.92M/s 4.6M/s 4.6M/s 4.6M/s 4.61M/s 128KiB 4.31M/s 4.69M/s 4.57M/s 4.57M/s 4.57M/s 4.57M/s 4.41M/s 4.52M/s 4.59M/s 4.66M/s 64KiB 4.74M/s 4.59M/s 4.66M/s 4.64M/s 4.66M/s 4.66M/s 4.64M/s 4.64M/s 4.61M/s 4.64M/s 32KiB 4.46M/s 4.45M/s 4.47M/s 4.47M/s 4.45M/s 4.47M/s 4.46M/s 4.47M/s 4.44M/s 4.45M/s 16KiB 4.27M/s 4.28M/s 4.28M/s 4.28M/s 4.27M/s 4.27M/s 4.27M/s 4.21M/s 4.27M/s 4.27M/s 8KiB 3.31M/s 3.35M/s 3.35M/s 3.34M/s 3.35M/s 3.32M/s 3.35M/s 3.35M/s 3.35M/s 3.35M/s 4KiB 2.33M/s 2.33M/s 2.33M/s 2.33M/s 2.33M/s 2.33M/s 2.33M/s 2.33M/s 2.33M/s 2.33M/s 2KiB 1.44M/s 1.43M/s 1.43M/s 1.43M/s 1.43M/s 1.43M/s 1.42M/s 1.43M/s 1.43M/s 1.43M/s 1KiB 798K/s 799K/s 801K/s 800K/s 799K/s 798K/s 801K/s 799K/s 800K/s 800K/s 512B 423K/s 422K/s 423K/s 422K/s 423K/s 422K/s 423K/s 422K/s 424K/s 423K/s tmp179:~ #
I have added the other data from your test to https://wiki.linaro.org/WorkingGroups/KernelConsolidation/Projects/FlashCard... and hope that you are still motivated to do similar tests on other cards. That should be much faster now.
No problem. Do you describe somewhere, or better, let flashbench implement it, the steps to test a card ?
Here are the first results for "Kingston 4GB 133X elite pro CF/4GB-S2":
tmp179:~ # cat /proc/partitions major minor #blocks name 8 32 3940272 sdc 8 33 3936240 sdc1 tmp179:~ # ./flashbench -a -b 1024 /dev/sdc sched_setscheduler: Operation not permitted align 134217728 pre 507µs on 760µs post 481µs diff 266µs align 67108864 pre 504µs on 754µs post 481µs diff 262µs align 33554432 pre 505µs on 753µs post 479µs diff 261µs align 16777216 pre 506µs on 753µs post 480µs diff 260µs align 8388608 pre 506µs on 754µs post 479µs diff 261µs align 4194304 pre 505µs on 758µs post 479µs diff 266µs align 2097152 pre 505µs on 756µs post 480µs diff 263µs align 1048576 pre 505µs on 673µs post 485µs diff 178µs align 524288 pre 510µs on 671µs post 484µs diff 174µs align 262144 pre 506µs on 674µs post 483µs diff 180µs align 131072 pre 507µs on 666µs post 486µs diff 170µs align 65536 pre 497µs on 668µs post 478µs diff 181µs align 32768 pre 503µs on 666µs post 480µs diff 174µs align 16384 pre 497µs on 668µs post 481µs diff 179µs align 8192 pre 503µs on 666µs post 478µs diff 176µs align 4096 pre 493µs on 491µs post 489µs diff 171ns align 2048 pre 481µs on 487µs post 489µs diff 2.21µs tmp179:~ #
I'll also retest my own two CF cards for comparison.
Thanks for all your help!
It has been a pleasure.
Philippe