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.
> >
> > 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.
> >
> > 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
>
> 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?
>
> 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
-- Matthew Dharm Home: mdharm-usb@one-eyed-alien.net Maintainer, Linux USB Mass Storage DriverUmm, these aren't the droids you're looking for. -- Bill Gates User Friendly, 11/14/1998
This archive was generated by hypermail 2b29 : Mon Jan 07 2002 - 21:00:15 EST