Date: Tue, 21 Nov 2000 10:04:25 -0700 From: "Kenneth D. Merry" <ken@kdm.org> To: net@FreeBSD.org Subject: new zero copy sockets and NFS snapshot Message-ID: <20001121100425.A38926@panzer.kdm.org>
next in thread | raw e-mail | index | archive | help
[ -arch and -current BCC'ed for wider coverage, please direct followups to -net and/or me ] I have put a new copy of the zero copy sockets and NFS patches, against -current as of early November 20th, 2000, here: http://people.FreeBSD.ORG/~ken/zero_copy/ Questions, comments and feedback are welcome. Besides being generated against a newer version of -current, the following things have changed in the new patches posted above: - The fix to the "localhost panic" problem has been revamped. We now use a new external mbuf type, EXT_DISPOSABLE, to indicate that the external mbuf payload may be page-flipped or otherwise discarded. Instead of attempting to page flip any pages that meet the size and alignment criteria, we now only page flip external mbufs marked as disposable. (Thanks to Drew Gallatin for suggesting this approach.) - The decision process on when to use vm_uiomove() versus vm_pgmoveco() in uiomoveco() has been revamped somewhat. We no longer panic in any case. Anything that isn't handled by vm_pgmoveco() (according to the page flip criteria described above) is passed to vm_uiomove(). - uiomoveco() has been reorganized somewhat, with some of the functionality split out into a subfunction. There are no known problems with the code. If anyone wants to challenge that, I'll gladly accept bug reports, code comments, etc. :) For those of you who missed the previous messages about this code (that went out to -net, -arch and -current), here's a quick list of what is included in the code: - Zero copy send and receive code, written by Drew Gallatin <gallatin@FreeBSD.ORG>. - Zero copy NFS code, written by Drew Gallatin. - Header splitting firmware for Alteon's Tigon II boards (written by me), based on version 12.4.11 of their firmware. This is used in combination with the zero copy receive code to guarantee that the payload of TCP or UDP packet is placed into a page-aligned buffer. - Alteon firmware debugging ioctls and supporting routines for the Tigon driver (also written by me). This will help anyone who is doing firmware development under FreeBSD for the Tigon boards. The Alteon header splitting and debugging code was written for Pluto Technologies (www.plutotech.com), which kindly agreed to let me release the code. Ken -- Kenneth Merry ken@kdm.org To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-arch" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20001121100425.A38926>