mtd_info->size again (lengthy)
Jamie Lokier
jamie at shareable.org
Mon Jun 9 09:21:17 EDT 2008
Jörn Engel wrote:
> replacing them with submit_fio (or some equivalent function, if
> people dislike the name).
May I suggest submit_mtdio? One concept to one name, you know.
F means flash, sure. But we don't call the devices /dev/flash0, /dev/flash1.
Nor do we call it the Flash subsystem.
Or, maybe we should change the name to flash everywhere. Most people
recognise that nowadays - flash is a common term.
> Submit_fio has the advantage of allowing asynchronous operations,
> queueing, out-of-order completion and all those goodies. If you
> have several chips in a device, I'm sure you want those as well.
Yes! I always wondered why it wasn't done like that from the beginning.
> And while at it, replace the 32bit size with a 64bit blockno and 32bit
> offset. Unless someone is stupid enough to create devices with 4G
> erasesize, that should last for a human lifetime or something close.
Although a single chip is unlikely to have 4GiB erasesize for a while,
a cluster of chips might, and it should be possible to represent them
as a single device. I strongly suggest supporting erasesizes
comparable with the device size. That doesn't mean writesize has to
be that big - writesize should fit in size_t (actually ssize_t), just
like sys_write().
> > It still leaves the problem of converting all driver. I've only started
> on mtdram - because it is simple and everyone can test it. Other
> drivers can follow over time. Users like jffs2 could be converted as
> well, but I'd rather leave them for now.
> We want synchronous wrappers around submit_fio anyway, as those are
> useful for development and for trivial performance-agnostic code.
> Comments?
I'm thinking we want asynchronous wrappers around the synchronous
methods too, using a dispatch thread. So that drivers can be
converted one by one, and old drivers don't need to be. Something like
generic_submit_fio.
-- Jamie
More information about the linux-mtd
mailing list