Re: [linux-usb-devel] Re: "sr: unaligned transfer" in 2.5.2-pre1

Matthew Dharm (mdharm-kernel@one-eyed-alien.net)
Tue, 1 Jan 2002 15:28:59 -0800


--/3yNEOqWowh/8j+e
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Tue, Jan 01, 2002 at 11:34:23PM +0100, Jens Axboe wrote:
> On Tue, Jan 01 2002, David Brownell wrote:
> > Not that I've seen a writeup about highmem (linux/Documentation
> > doesn't seem to have one anyway) but if I infer correctly from that
> > DMA-mapping.txt writeup, URBs don't support it because there's no way
> > to specify buffers as a "struct page *" or an array of "struct
> > scatterlist". That's the only way that document identifies to access
> > "highmem memory".

This sounds like another good reason to have URBs take scatterlists
directly, oddly enough. :)

> > > (1) Do the USB HCDs support highmem? I seem to recall they do, but
> > > I'm not certain.
> >=20
> > If URBs can't describe highmem, the HCD's won't support them per se;
> > you'd have to turn highmem to "lowmem" or whatever it's called, and
> > then let the HCDs manage the lowmem-to-dma_addr_t mappings.
> >=20
> > Alternatively, in 2.5 we might add "highmem" support to USB. Now that
> > I've looked at it a few minutes, I suspect we must -- just to support
> > block devices (usb-storage) fully. Is there more to it than adding
>=20
> No, you can always ask to get pages low mem bounced. Highmem is no
> requirement, and if your device really can't support it there's no point
> in attempting to support it.

I presume there is some overhead in bouncing to lowmem? I imagine that
highmem support for the HCDs wouldn't be that difficult -- they are just
PCI devices, after all.

I'd rather eliminate as much overhead as possible -- I already get
complaints from performance fanatics about the inability of usb-storage to
get past 92% bus saturation (sustained), and the problem will only get
worse on USB 2.0

> > page+offset as an alternative way to describe the transfer_buffer?
>=20
> no

Hrm... isn't that what one of the patches sent did? Or does that only work
for lowmem allocations described by the structure?

Matt

--=20
Matthew Dharm Home: mdharm-usb@one-eyed-alien.=
net=20
Maintainer, Linux USB Mass Storage Driver

Umm, these aren't the droids you're looking for.
-- Bill Gates
User Friendly, 11/14/1998

--/3yNEOqWowh/8j+e
Content-Type: application/pgp-signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.6 (GNU/Linux)
Comment: For info see http://www.gnupg.org

iD8DBQE8MkY7z64nssGU+ykRAtMPAKC5/7UQNmU/Oy2c2bTAwD+F6NWKFwCfWWN1
czCySgA3pBrwCUqAW6AoVbs=
=llvO
-----END PGP SIGNATURE-----

--/3yNEOqWowh/8j+e--
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/