Linus Torvalds on FreeBSD's Use of Copy-on-write

Alexander Kabaev kabaev at gmail.com
Wed Apr 26 22:51:22 UTC 2006


On Wed, 26 Apr 2006 16:18:52 -0600
"Kenneth D. Merry" <ken at freebsd.org> 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.

> 
> 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.
> 
> 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.
> 
> 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.
> 
> Is any of that old codebase still in use?  I figured it probably went
> away with the old hardware...
> 

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. 

-- 
Alexander Kabaev
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-arch/attachments/20060426/61fca1dd/signature.pgp


More information about the freebsd-arch mailing list