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>