Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 8 Jan 2016 13:22:45 -0800
From:      NGie Cooper <yaneurabeya@gmail.com>
To:        Gleb Smirnoff <glebius@FreeBSD.org>
Cc:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   Re: svn commit: r293439 - in head: lib/libc/sys sys/dev/ti sys/kern sys/sys usr.bin/netstat
Message-ID:  <88B48C42-DFEF-4CAE-973E-BDF2A408B4A3@gmail.com>
In-Reply-To: <20160108211041.GG1906@FreeBSD.org>
References:  <201601082034.u08KYvLv075281@repo.freebsd.org> <96B980EE-FD2F-490E-BA5E-4F23A67CEB18@gmail.com> <20160108211041.GG1906@FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help

> On Jan 8, 2016, at 13:10, Gleb Smirnoff <glebius@FreeBSD.org> wrote:
>=20
> On Fri, Jan 08, 2016 at 12:44:32PM -0800, NGie Cooper wrote:
> N> > Log:
> N> >  New sendfile(2) syscall. A joint effort of NGINX and Netflix =
from 2013 and
> N> >  up to now.
> N> >=20
> N> >  The new sendfile is the code that Netflix uses to send their =
multiple tens
> N> >  of gigabits of data per second. The new implementation features =
asynchronous
> N> >  I/O, when I/O operations are launched, but not awaited to be =
complete. An
> N> >  explanation of why such behavior is beneficial compared to old =
one is
> N> >  going to be too long for a commit message, so we will skip it =
here.
> N> >=20
> N> >  Additional features of new syscall are extra flags, which =
provide an
> N> >  application more control over data sent. The SF_NOCACHE flag =
tells
> N> >  kernel that data shouldn't be cached after it was sent. The =
SF_READAHEAD()
> N> >  macro allows to specify readahead size in pages.
> N> >=20
> N> >  The new syscalls is a drop in replacement. No modifications are =
required
> N> >  to applications. One can take nginx binary for stable/10 and run =
it
> N> >  successfully on head. Although SF_NODISKIO lost its original =
sense, as now
> N> >  sendfile doesn't block, and now means something completely =
different (tm),
> N> >  using the new sendfile the old way is absolutely safe.
> N> >=20
> N> >  Celebrates:	Netflix global launch!
> N> >  Sponsored by:	Nginx, Inc.
> N> >  Sponsored by:	Netflix
> N> >  Relnotes:	yes
> N>=20
> N> Did anyone review these changes and the other changes made recently =
to sys/kern and sys/net* ?
>=20
> 1) The review requests were sent continuosly to arch@ during last 1.5 =
years.
>=20
>   =
https://lists.freebsd.org/pipermail/freebsd-arch/2014-May/015385.html
>=20
> 2) Team of engineers at Netflix has a lot of code build on top of that =
code,
>   e.g. SSL_sendfile(). Of course, writing something on top assumes =
reviewing,
>   so assume it reviewed thoroughly by rrs@. Actually, here is list of =
people
>   who did some review of the code: emax@, rrs@, scottl@, gallatin@, =
imp@.
>=20
> 3) Do you have any particulars concerns with this change or those made =
recently
>   to sys/kern and sys/net*?

I don=E2=80=99t as of right now, other than it=E2=80=99s really =
difficult to audit changes and assess risk if someone doesn=E2=80=99t =
have access to the CRs :(.

Also=E2=80=A6

N> >  An
N> >  explanation of why such behavior is beneficial compared to old one =
is
N> >  going to be too long for a commit message, so we will skip it =
here.

This wasn=E2=80=99t really helpful. It would have been nice if there was =
a wiki page or some other reference used in this commit which would have =
described the where, why, and how behind this change a lot more.

Thanks,
-NGie=



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?88B48C42-DFEF-4CAE-973E-BDF2A408B4A3>