Date: Mon, 24 Apr 2006 10:35:01 -0700 From: "Jack Vogel" <jfvogel@gmail.com> To: "Kirk McKusick" <mckusick@mckusick.com> Cc: arch@freebsd.org Subject: Re: Linus Torvalds on FreeBSD's Use of Copy-on-write Message-ID: <2a41acea0604241035s325bf2c3x96baac71eff3e7db@mail.gmail.com> In-Reply-To: <200604240633.k3O6XUJ0042841@chez.mckusick.com> References: <200604240633.k3O6XUJ0042841@chez.mckusick.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On 4/23/06, Kirk McKusick <mckusick@chez.mckusick.com> wrote: > Anyone working on zero-copy sockets care to respond to this? > > http://developers.slashdot.org/developers/06/04/21/1536213.shtml > > Linus Torvalds made reference to some possible future extensions. > This included vmsplice(), a system call since implemented by Jens > Axboe "to basically do a 'write to the buffer', but using the > reference counting and VM traversal to actually fill the buffer." > Reviewing the implications of using such a system call lead to a > comparison with FreeBSD's ZERO_COPY_SOCKET which uses COW (copy on > write). > > Linus explained that while this may look good on specific benchmarks, > it actually introduces extra overhead, "the thing is, the cost of > marking things COW is not just the cost of the initial page table > invalidate: it's also the cost of the fault eventually when you > _do_ write to the page, even if at that point you decide that the > page is no longer shared, and the fault can just mark the page > writable again." He went on to explain, "The COW approach does > generate some really nice benchmark numbers, because the way you > benchmark this thing is that you never actually write to the user > page in the first place, so you end up having a nice benchmark loop > that has to do the TLB invalidate just the _first_ time, and never > has to do any work ever again later on." Linus didn't pull any > punches when he summarized: > > "I claim that Mach people (and apparently FreeBSD) are incompetent > idiots. Playing games with VM is bad. memory copies are _also_ > bad, but quite frankly, memory copies often have _less_ downside > than VM games, and bigger caches will only continue to drive > that point home." I would have expected something a bit less adolescent out of Linus, or maybe its the reporter.... I don't think it deserves a reply however. Jack
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?2a41acea0604241035s325bf2c3x96baac71eff3e7db>