svn commit: r293439 - in head: lib/libc/sys sys/dev/ti sys/kern sys/sys usr.bin/netstat
Bryan Drewery
bdrewery at FreeBSD.org
Fri Jan 8 20:37:13 UTC 2016
On 1/8/2016 12:34 PM, Gleb Smirnoff wrote:
> Author: glebius
> Date: Fri Jan 8 20:34:57 2016
> New Revision: 293439
> URL: https://svnweb.freebsd.org/changeset/base/293439
>
> Log:
> New sendfile(2) syscall. A joint effort of NGINX and Netflix from 2013 and
> up to now.
>
> The new sendfile is the code that Netflix uses to send their multiple tens
> of gigabits of data per second. The new implementation features asynchronous
> I/O, when I/O operations are launched, but not awaited to be complete. An
> explanation of why such behavior is beneficial compared to old one is
> going to be too long for a commit message, so we will skip it here.
>
> Additional features of new syscall are extra flags, which provide an
> application more control over data sent. The SF_NOCACHE flag tells
> kernel that data shouldn't be cached after it was sent. The SF_READAHEAD()
> macro allows to specify readahead size in pages.
>
> The new syscalls is a drop in replacement. No modifications are required
> to applications. One can take nginx binary for stable/10 and run it
> successfully on head. Although SF_NODISKIO lost its original sense, as now
> sendfile doesn't block, and now means something completely different (tm),
> using the new sendfile the old way is absolutely safe.
>
> Celebrates: Netflix global launch!
> Sponsored by: Nginx, Inc.
> Sponsored by: Netflix
> Relnotes: yes
>
> Modified:
> head/lib/libc/sys/sendfile.2
> head/sys/dev/ti/if_ti.c
> head/sys/kern/uipc_mbuf.c
> head/sys/kern/uipc_syscalls.c
> head/sys/sys/mbuf.h
> head/sys/sys/sf_buf.h
> head/sys/sys/socket.h
> head/usr.bin/netstat/mbuf.c
Why not merge the branch with full history?
--
Regards,
Bryan Drewery
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 473 bytes
Desc: OpenPGP digital signature
URL: <http://lists.freebsd.org/pipermail/svn-src-head/attachments/20160108/c23e4ca6/attachment.sig>
More information about the svn-src-head
mailing list