[U-Boot] [PATCH v1] sunxi: improve throughput in the sunxi_mmc driver

Maxime Ripard maxime.ripard at free-electrons.com
Tue Feb 21 18:00:21 UTC 2017


On Fri, Feb 17, 2017 at 06:22:45PM +0100, Philipp Tomsich wrote:
> Throughput tests have shown the sunxi_mmc driver to take over 10s to
> read 10MB from a fast eMMC device due to excessive delays in polling
> loops.
> 
> This commit restructures the main polling loops to use get_timer(...)
> to determine whether a (millisecond) timeout has expired.  We choose
> not to use the wait_bit function, as we don't need interruptability
> with ctrl-c and have at least one case where two bits (one for an
> error condition and another one for completion) need to be read and
> using wait_bit would have not added to the clarity.
> 
> The observed speedup in testing on a A31 is greater than 10x (e.g. a
> 10MB write decreases from 9.302s to 0.884s).
> 
> X-Affected-platforms: A31-uQ7, A80-Q7, A64-uQ7
> Signed-off-by: Philipp Tomsich <philipp.tomsich at theobroma-systems.com>

Awesome, I was about to start looking into the poor performances we
had, but you beat me to it.

Do you know if the same changes can apply to the Linux MMC driver?

Maxime

-- 
Maxime Ripard, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 801 bytes
Desc: not available
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20170221/80915845/attachment.sig>


More information about the U-Boot mailing list