lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Wed, 25 Mar 2009 17:14:25 +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 12:42:48 +0100
> Jens Axboe <jens.axboe@...cle.com> wrote:
> 
> > On Wed, Mar 25 2009, Pierre Ossman wrote:
> > > 
> > > That's an annoying limitation and sort of defeats the purpose of
> > > specifying a maximum sector count. Why can't it go below 8?
> > 
> > Because it would add all sorts of complexity for handling 4kb block size
> > file systems on top of the block device. The bio_add_page() api depends
> > on being able to add a single page at least, it has to or you would need
> > to push that complexity to the callers.
> > 
> 
> Requests going in into the block layer and requests coming out aren't
> that strongly coupled, so I don't see it of that much of a stretch to
> expect this to be handled.

The point is that you have to handle at one side of the block layer, at
submission or at send-to-driver time.

> > So it's annoying, but you have to do the incremental completions
> > yourself for the (obscure) device that doesn't do more than 512b
> > transfers. It's really not that difficult, and it would be simpler than
> > supporting partial completions generically in the block layer.
> 
> 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?

> 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.

> > Saying that it defeats the purpose of the setting is missing the bigger
> > picture - basically all other devices, that have sane limits (like 128k,
> > or whatnot).
> > 
> 
> I suppose. But it makes the feature completely useless for MMC as it
> has to implement it's own cropping of requests anyway.

Unfortunate, it's useful for other cases though.

-- 
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

Powered by Openwall GNU/*/Linux Powered by OpenVZ