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
signature.asc
Description: OpenPGP digital signature