Date: Mon, 11 Aug 2014 13:34:36 -0500 From: Alan Cox <alan.l.cox@gmail.com> To: Adrian Chadd <adrian@freebsd.org> Cc: Victor Balada Diaz <victor@bsdes.net>, Sushanth Rai <sushanth_rai@yahoo.com>, "freebsd-hackers@freebsd.org" <freebsd-hackers@freebsd.org> Subject: Re: Support for zero copy sockets Message-ID: <CAJUyCcOmxwBqbtWUgVLw1z%2BbNzrd9jw76GYeKWwDgv17=4g-kw@mail.gmail.com> In-Reply-To: <CAJ-VmonTYPz7qJ3WG52ADp69FdYQkKQ6D_DOM1piEybGwgOmWA@mail.gmail.com> References: <1407171616.44440.YahooMailBasic@web181702.mail.ne1.yahoo.com> <20140811082610.GF7828@equilibrium.bsdes.net> <CAJ-VmonTYPz7qJ3WG52ADp69FdYQkKQ6D_DOM1piEybGwgOmWA@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
The send path used an ad hoc copy-on-write mechanism, i.e., it was not the mechanism used by fork, etc. This mechanism was broken (and as I'll argue in a few sentences not worth fixing). The receive path used page flipping and required support from the NIC. Neither copy-on-write nor page flipping are viable approaches on today's multicore machines because their implementation entails interprocessor TLB shootdowns. Let them rest in peace. On Mon, Aug 11, 2014 at 1:04 PM, Adrian Chadd <adrian@freebsd.org> wrote: > On 11 August 2014 01:26, Victor Balada Diaz <victor@bsdes.net> wrote: > > On Mon, Aug 04, 2014 at 10:00:16AM -0700, Sushanth Rai via > freebsd-hackers wrote: > >> Hello, > >> > >> FreeBSD 10 release sources doesn't seem to have zero copy socket code > anymore. What's is alternative to do zero_copy ? > >> > >> Thanks, > >> Sushanth > > > > You need to use sendfile(2). In the man page is stated that the > implementation in FreeBSD > > is zero copy. > > > > You can also check: > > > > http://svnweb.freebsd.org/base?view=revision&revision=255608 > > > > I'd like to reintroduce a zero copy socket IO method for at least > write that doesn't rely on sendfile. > > The zero-copy socket page flipping thing was interesting because IIRC > tried to work for both sending and receiving socket data. Doing that > via an API would be nicer. > > So, if people have an idea for how it could be done / what the API > looks like then I'm all ears. > > > > -a > _______________________________________________ > freebsd-hackers@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-hackers > To unsubscribe, send any mail to "freebsd-hackers-unsubscribe@freebsd.org" >
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAJUyCcOmxwBqbtWUgVLw1z%2BbNzrd9jw76GYeKWwDgv17=4g-kw>