From: Jarkko Lavinen <jarkko.lavinen@nokia.com>
To: linux-mmc@vger.kernel.org
Subject: MMC aware IO scheduler?
Date: Tue, 25 Aug 2009 17:38:37 +0300 [thread overview]
Message-ID: <20090825143837.GA9440@angel.research.nokia.com> (raw)
Has anybody thought about MMC aware IO scheduler?
Such scheduler would try to merge writes on the same eraseblock
even if there were gaps between the writes by reading the gaps
first. Such merges would also be considered for writes on
separate erase blocks if they are close enough.
You may ask why bother.
I have tested a board with eMMC with 512MiB erase block which can
write 20 MiB/s when writes are contiguous with block size of 512
MiB. Write time is then 20 ms per erase block at mmc driver from
startting to send the read command to mmc_request_done().
But if the writes are to randomly chosen erase block, write times
jumps to 250 ms and is pretty constant regardless of the write
size from 512 bytes to 512 KiB or offset or alignment.
Reading a random erase block takes 30ms. Read speed is< not constant
but grows slowly from 16KiB @ 11 MiB/s to 2 MiB @ 24 MiB/s. The
device seems also to like sequential reads.
With these figures the cost of reading a gap between two writes
takes <= 25ms, writing a whole erase block takes 270ms,
altogether about 300ms. Writing two any size writes separately to
the same erase blcok would take 510ms.
The same speedup applies roughly to writing two writes to
consecutive erase blocks with gap between the writes.
Jarkko Lavinen
reply other threads:[~2009-08-25 14:39 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20090825143837.GA9440@angel.research.nokia.com \
--to=jarkko.lavinen@nokia.com \
--cc=linux-mmc@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox