[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20090325174359.GZ27476@kernel.dk>
Date: Wed, 25 Mar 2009 18:43:59 +0100
From: Jens Axboe <jens.axboe@...cle.com>
To: Pierre Ossman <drzeus@...eus.cx>
Cc: Manuel Lauss <mano@...rinelk.homelinux.net>,
linux-kernel@...r.kernel.org
Subject: Re: MMC layer regression with single-block controllers
On Wed, Mar 25 2009, Pierre Ossman wrote:
> On Wed, 25 Mar 2009 17:14:25 +0100
> Jens Axboe <jens.axboe@...cle.com> wrote:
>
> > On Wed, Mar 25 2009, Pierre Ossman wrote:
> > >
> > > The code was there previously, but it seemed a bit redundant to have
> > > functionality like that in the block driver since we've already told
> > > the block layer about the restrictions.
> >
> > You never saw the warnings? It's pretty clear that it does not support <
> > PAGE_CACHE_SIZE blocks. It has always been so, I don't know why the
> > subject says regression. I guess that is referring to a mmc layer
> > regression?
> >
>
> Yes. The MMC code did all of this magic by itself previously and
> assumed very little about the block layer.
>
> > > The code was pretty simple. Basically it just cropped the sg list at
> > > the correct place. Couldn't that be as easily done in the block layer?
> >
> > No, because if you do it transparently, then you have to keep partial
> > state in the bio for completions. So it makes everything a lot more
> > complex, I don't want to do that for something like this.
> >
>
> How is this different from the low level driver partially completing a
> request, which is how it would have to be handled otherwise?
It's a completely parallel issue. We keep extra state to handle the
partial completion bits, we would need to add even more state to handle
presenting a smaller view of the request (and the bio, it would need to
work for both) to the driver.
--
Jens Axboe
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists