Date: Wed, 19 Jun 2002 22:52:06 -0400 (EDT) From: Andrew Gallatin <gallatin@cs.duke.edu> To: Bosko Milekic <bmilekic@unixdaemons.com> Cc: "Kenneth D. Merry" <ken@kdm.org>, current@FreeBSD.ORG, net@FreeBSD.ORG Subject: Re: new zero copy sockets snapshot Message-ID: <15633.17238.109126.952673@grasshopper.cs.duke.edu> In-Reply-To: <20020619120641.A18434@unixdaemons.com> References: <20020618223635.A98350@panzer.kdm.org> <xzpelf3ida1.fsf@flood.ping.uio.no> <20020619090046.A2063@panzer.kdm.org> <20020619120641.A18434@unixdaemons.com>
next in thread | previous in thread | raw e-mail | index | archive | help
Bosko Milekic writes: > > - It's kind of unfortunate that uipc_jumbo.c has to roll its own > allocator; There are a couple of alternatives; to just use The point of uipc_jumbo.c rolling its own allocator is that it allocates free pages which can be "flipped" (re-mapped) into user-space to avoid a memory copy. The use of this allocator is confined to nic's with firmware which is smart enough to split off headers from payloads. (Currently only Ken's modified if_ti.c; and my old Trapeze/Myrinet driver though I plan to implment this in the official Myricom GM firmware/FreeBSD driver if the zero-copy sockets patch is committed). Its somewhat out of date, but you might want to read my '99 Freenix paper. It gives a good overview of the zero-copy patch. http://www.cs.duke.edu/ari/publications/tcpgig.pdf This is orthogonal to the zero-copy patch, but it _would_ be nice to have general purpose mbuf allocator which could allocate mbuf clusters with 9K physically contigous for dumber nics. There are a whole slew of drivers (unpatched ti, bge, nge, lge, etc) which roll their own for no better reason than the system doesn't offer this feature. That's what needs fixing. Heck, if such an allocator was available, we could use it for copyin's of large chunks of data. Tru64 has 8K and 2K clusters and does this. (based from emperical evidence garnered at the driver level). Drew To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-net" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?15633.17238.109126.952673>