On Tuesday 12 July 2011 19:30:42 Chris Ball wrote: > On Tue, Jul 12 2011, Manoj Iyer wrote: > > btw only the 1st write was slower, subsequent writes looks ok. > > [..] > > I have attached the output of flashbench and the time test to > > > > http://launchpad.net/bugs/773524 > > [..] > > == Finding the number of open erase blocks == > > u@u:~/flash/flashbench$ sudo ./flashbench -O --erasesize=$[4 * 1024 * > > 1024] --blocksize=$[256 * 1024] /dev/mmcblk0 --open-au-nr=2 > > 4MiB 6.36M/s > > 2MiB 6.24M/s > > 1MiB 6.17M/s > > 512KiB 6.19M/s > > 256KiB 6.22M/s > > u@u:~/flash/flashbench$ > > [..] > > ====== AFTER PATCH ======== > > [..] > > == Finding the number of open erase blocks == > > u@u:~/flash/flashbench$ sudo ./flashbench -O --erasesize=$[4 * 1024 * > > 1024] --blocksize=$[256 * 1024] /dev/mmcblk0 --open-au-nr=2 > > [sudo] password for u: > > 4MiB 5.49M/s > > 2MiB 6.22M/s > > 1MiB 6.22M/s > > 512KiB 6.21M/s > > 256KiB 6.21M/s > > u@u:~/flash/flashbench$ > > That's interesting. Arnd, any idea why only the first test of the > flashbench run would be slower after the patch? I would very much expect that to be nonreproducible. The first row in each test is the result of a single write() system call and does not get averaged out. More importantly the time for each write depends a lot of the state of the card before the write. For instance when you do a lot of random writes to a card, optionally take it out and put it into a different machine, and then do a large linear write, that linear write will be very slow because the card has to garbage collect all the random writes that were done earlier. After a few writes (usually one is enough), it gets back to the full performance. Arnd -- To unsubscribe from this list: send the line "unsubscribe linux-mmc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html