Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 23 Oct 2012 17:27:49 +0200
From:      Andre Oppermann <andre@freebsd.org>
To:        David Chisnall <theraven@FreeBSD.org>
Cc:        svn-src-head@FreeBSD.org, svn-src-all@FreeBSD.org, Gleb Smirnoff <glebius@FreeBSD.org>, src-committers@FreeBSD.org
Subject:   Re: svn commit: r241931 - in head/sys: conf kern
Message-ID:  <5086B775.40702@freebsd.org>
In-Reply-To: <AAEAF03E-2C78-4195-825D-D8B0A05D6A37@FreeBSD.org>
References:  <201210231419.q9NEJjYH082863@svn.freebsd.org> <20121023144211.GX70741@FreeBSD.org> <5086B24C.9000606@freebsd.org> <AAEAF03E-2C78-4195-825D-D8B0A05D6A37@FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On 23.10.2012 17:11, David Chisnall wrote:
> On 23 Oct 2012, at 16:05, Andre Oppermann wrote:
>
>> For zero copy send we're trying to come up with a sendfile-like
>> approach where the page is simply wired into kernel space.  The
>> application then is not allowed to touch it until the socket
>> buffer has released it again.  The main issue here is how to
>> provide feedback to the application when it is safe for reuse.
>
> It's been a few years since I used it, but I thought that aio_write() already provided this.  The application may not modify the contents of the memory pointed to by aio_buf until after it has received notification that the write has finished.  This happens either via a signal directly, a signal polled by kqueue, or a call to aio_return().

Indeed, that's one of the ways being explored.  It requires the
explicit cooperation of the application.  I don't think there is
any way around that.

-- 
Andre




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?5086B775.40702>