Date: Sun, 2 Jul 2006 11:38:10 +0200 From: Hans Petter Selasky <hselasky@c2i.net> To: David Malone <dwmalone@maths.tcd.ie> Cc: freebsd-hackers@freebsd.org Subject: Re: contiguous memory allocation problem Message-ID: <200607021138.11945.hselasky@c2i.net> In-Reply-To: <20060701194435.GA30115@walton.maths.tcd.ie> References: <200605271102.19799.hselasky@c2i.net> <200607011044.54872.hselasky@c2i.net> <20060701194435.GA30115@walton.maths.tcd.ie>
next in thread | previous in thread | raw e-mail | index | archive | help
On Saturday 01 July 2006 21:44, David Malone wrote: > On Sat, Jul 01, 2006 at 10:44:54AM +0200, Hans Petter Selasky wrote: > > > The latest concensus seems to be that the USB system should make use of > > > the scatter-gather facilities in the hardware to avoid the need to > > > allocate large contiguous memory chunks. iedowse@ had mostly finished > > > implementing this in mid May. > > > > Yes, but scatter and gather will add extra complexity to the driver, and > > maybe an extra memory copy in most cases. The idea is to allocate less > > than or equal to a page of memory, and then avoid the problem? > > I believe the USB drivers in -current grew scatter/gather support > about a month ago. See the commit message below. Is this likely to > help? I see. But there is one problem, that has been overlooked, and that is High speed isochronous transfers, which are not supported by the existing USB system. I don't think that the EHCI specification was designed for scatter and gather, when you consider this: 8 transfers of 0xC00 bytes has to fit on 7 pages. If this is going to work, and I am right, one page has to contain two transfers. (see page 43 of ehci-r10.pdf) Currently the PAGE_SIZE is 0x1000, right? As you can see "(0xC00 * 2) > 0x1000". So is it possible to change the PAGE_SIZE ? --HPS
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200607021138.11945.hselasky>