Messages in this thread | | | Date | Tue, 01 Jan 2002 21:40:03 -0800 | From | David Brownell <> | Subject | Re: [linux-usb-devel] Re: highmem and usb [was: "sr: unaligned transfer" in 2.5.2-pre1] |
| |
> > > 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. :)
If it's got to be done, I'd much rather it were "page + offset", so that the usbcore code can be simpler. We know how to turn scatterlists into bulk queued requests, so there's no need for anything more ... :)
> > 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'm unclear on what "bouncing to lowmem" involves, but I'd rather avoid teaching all three HCDs a second model for addressing transfer buffers.
At least until later in the 2.5 series, when we believe they'll share a lot more common code and so that new model can be taught to just ONE piece of code. Fixing bugs in one place easier than in three!
> 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
Well then you'll be glad to see a patch from me, soonish, that teaches the usb-storage "transport" code to use bulk queueing. That'll get the bandwidth utilization up as high as it can get. It won't address any of these highmem issues though.
- Dave
- 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/
| |