Skip site navigation (1)Skip section navigation (2)
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-current" 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>