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