From owner-freebsd-arch@FreeBSD.ORG Wed Apr 26 22:51:22 2006 Return-Path: X-Original-To: arch@freebsd.org Delivered-To: freebsd-arch@FreeBSD.ORG Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id B05E516A402 for ; Wed, 26 Apr 2006 22:51:22 +0000 (UTC) (envelope-from kabaev@gmail.com) Received: from xproxy.gmail.com (xproxy.gmail.com [66.249.82.200]) by mx1.FreeBSD.org (Postfix) with ESMTP id B219443D46 for ; Wed, 26 Apr 2006 22:51:21 +0000 (GMT) (envelope-from kabaev@gmail.com) Received: by xproxy.gmail.com with SMTP id s9so1067906wxc for ; Wed, 26 Apr 2006 15:51:20 -0700 (PDT) DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:date:from:to:cc:subject:message-id:in-reply-to:references:x-mailer:mime-version:content-type; b=sNql64S0fCvht4rEbVbF33uondwCZSb6iZee0DfUAJQ+FXdOCKVdQ7++fnC9Zw/TDqpJwYBb6ihohiL/yddvhDo+0QMqU7hHtRQrdgJT03xSD53o8FJndraQfG6yPV5KLN5CSM/B0uzQRkzxorcTzBcEpSOOuZF9cCqUCsDu5lI= Received: by 10.70.21.4 with SMTP id 4mr1494688wxu; Wed, 26 Apr 2006 15:51:20 -0700 (PDT) Received: from kan.dnsalias.net ( [24.63.93.195]) by mx.gmail.com with ESMTP id i15sm2091949wxd.2006.04.26.15.51.19; Wed, 26 Apr 2006 15:51:20 -0700 (PDT) Date: Wed, 26 Apr 2006 18:51:15 -0400 From: Alexander Kabaev To: "Kenneth D. Merry" Message-ID: <20060426185115.6dcd8d67@kan.dnsalias.net> In-Reply-To: <20060426221852.GA94673@nargothrond.kdm.org> References: <200604240633.k3O6XUJ0042841@chez.mckusick.com> <20060424064352.GA728@funkthat.com> <444C765B.7070803@elischer.org> <20060424192414.0dbaa534@kan.dnsalias.net> <20060426221852.GA94673@nargothrond.kdm.org> X-Mailer: Sylpheed-Claws 2.0.0 (GTK+ 2.8.16; i386-portbld-freebsd7.0) Mime-Version: 1.0 Content-Type: multipart/signed; boundary=Sig_fnO_L9XEQGoDAj0zS6txULs; protocol="application/pgp-signature"; micalg=PGP-SHA1 Cc: Kirk McKusick , arch@freebsd.org, John-Mark Gurney , Julian Elischer Subject: Re: Linus Torvalds on FreeBSD's Use of Copy-on-write X-BeenThere: freebsd-arch@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussion related to FreeBSD architecture List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 26 Apr 2006 22:51:22 -0000 --Sig_fnO_L9XEQGoDAj0zS6txULs Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: quoted-printable On Wed, 26 Apr 2006 16:18:52 -0600 "Kenneth D. Merry" wrote: > If you're talking about the code I wrote at Pluto/Avid, yeah, it was > primarily to get around very poor CPU access speed to the external > RAID cache we had on that box. Yes, I am talking about that code. >=20 > The zero copy send model used async I/O semantics -- you'd get the > completed buffers back when they were freed, so you knew you could > reuse them in userland. >=20 > The zero copy receive model relied on extensive modifications to the > Alteon Tigon II firmware -- a whole lot more than the header > splitting firmware that's in the FreeBSD tree now. I added 16 extra > receive rings to the firmware to handle up to 16 incoming FTP > connections. Packet headers were DMAed into normal kernel memory, > and the payloads were DMAed into the PCI attached RAID cache. >=20 > Since neither implementation was generally useful, Drew Gallatin and I > cleaned up his zero copy sockets implementation for inclusion in > FreeBSD. The receive semantics with respect to userland were similar > to what I did at Pluto/Avid, but the send semantics are somewhat > different, since they rely on COW instead of a separate notification > that the buffer is done. >=20 > Is any of that old codebase still in use? I figured it probably went > away with the old hardware... >=20 AirSpaces are still being used in the wild, and we still care and feed them occasionally. The same code is present in newer AirSpeed product, but is disabled by default because AirSpeed uses onboard em network adapters.=20 --=20 Alexander Kabaev --Sig_fnO_L9XEQGoDAj0zS6txULs Content-Type: application/pgp-signature; name=signature.asc Content-Disposition: attachment; filename=signature.asc -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.2.2 (FreeBSD) iD8DBQFET/lnQ6z1jMm+XZYRAqDeAJ9hOof4Kx5i0e+DCxBaTFo6sug5uACfblcY xf7rry1Lce6VizNgRpSq7R0= =lo/0 -----END PGP SIGNATURE----- --Sig_fnO_L9XEQGoDAj0zS6txULs--