> On Jan 8, 2016, at 13:10, Gleb Smirnoff <gleb...@freebsd.org> wrote: > > 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> > > 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> > > 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> > > 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> > > N> > Celebrates: Netflix global launch! > N> > Sponsored by: Nginx, Inc. > N> > Sponsored by: Netflix > N> > Relnotes: yes > N> > N> Did anyone review these changes and the other changes made recently to > sys/kern and sys/net* ? > > 1) The review requests were sent continuosly to arch@ during last 1.5 years. > > https://lists.freebsd.org/pipermail/freebsd-arch/2014-May/015385.html > > 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@. > > 3) Do you have any particulars concerns with this change or those made > recently > to sys/kern and sys/net*?
I don’t as of right now, other than it’s really difficult to audit changes and assess risk if someone doesn’t have access to the CRs :(. Also… 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’t 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 _______________________________________________ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"