Re: [PATCH] mmc: Added quirks for Ricoh 1180:e823 lower base clock frequency
From: Arnd Bergmann
Date: Tue Jul 12 2011 - 14:01:41 EST
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-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/