Re: [PATCH 1/4] scatterlist: new helper functions

From: FUJITA Tomonori
Date: Wed Mar 16 2011 - 00:55:53 EST


On Tue, 15 Mar 2011 21:18:14 -0700 (PDT)
Alex Dubov <oakad@xxxxxxxxx> wrote:

>
> >
> > I don't think so.
> >
> > Splitting (or merging) a request and playing with sg lists
> > inside a
> > driver is a bad idea. Such should be done in the block
> > layer.
> >
> > I still don't see why the block layer can't do that for the
> > driver.
> >
> > I believe that the helper functions for such should not be
> > added.
> >
>
>
> In a particular case of flash-like devices, letting the block layer
> split requests into memory sequential blocks too often results in
> unnecessary fragmentation of writes/erases.

Why?

Why can't the block layer split a request in the way the driver wants
to do?

That is, why can't the driver tell the block layer how to split a
request?


> If only one sg entry is requested from the block layer, it will be (more
> often than not) only 1 or 2 pages in length, even if total size of
> prospective write request spans multiple erase blocks.

In this case, what does the driver do? Why can't the block layer do
the same?


> So there are really only two options for legacy memorystick driver:
> 1. Play with scatterlists explicitly.
> 2. Make it an MTD backend, rather then stand-alone block device.
>
> The second option makes more sense, but it is not necessarily the optimal
> approach for implementation of this particular media format.
>
>
>
>
> --
> 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/
--
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/