You might want to add some checks to ensure compilation doesn't fail on platforms that don't define the constant, such as Windows.
Tom > On 26 jul. 2013, at 10:07, Sepherosa Ziehau <sepher...@gmail.com> wrote: > > Hi all, > > I have the following preliminary patch to enable SO_REUSEPORT feature > on listen sockets: > http://leaf.dragonflybsd.org/~sephe/ngx_soreuseport.diff > > The basic idea of the above patch is: > - Defer the listen socket creation until work processes are forked > - Work process creates listen socket, and set SO_REUSEPORT before bind(2) > - Accept mutex is no longer needed, since worker process is not > contended on the single listen socket anymore > > > The SO_REUSEPORT sockopt on Linux: > https://lwn.net/Articles/542629/ > > The SO_REUSEPORT sockopt on DragonFlyBSD: > http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/740d1d9f7b7bf9c9c021abb8197718d7a2d441c9 > > The non-blocking accept(2) w/ SO_REUSEPORT performance improvement on > DragonFlyBSD: > http://lists.dragonflybsd.org/pipermail/users/2013-July/053632.html > > > The preliminary httperf test shows w/ "so_reuseport on" gives me ~33% > req/s performance improvement on DragonFlyBSD: > > httperf is running as: > httperf --server=$server_name --wsess=5000,1,1 --max-conn=4 > > Same testing machines and network configuration as in: > http://lists.dragonflybsd.org/pipermail/users/2013-July/053632.html > > Each client runs 16 above httperf test, except the box w/ bce, which > runs 8 above httperf. > > The nginx w/ "so_reuseport on" is doing 49852 reqs/s (4 run avg) and > there are 35%~40% idle time on each hyperthread. > The nginx w/o "so_reuseport on" is doing 37386 reqs/s (4 run avg). > > > Any feedbacks are welcome. > > Best Regards, > sephe > > -- > Tomorrow Will Never Die > > _______________________________________________ > nginx-devel mailing list > nginx-devel@nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-devel _______________________________________________ nginx-devel mailing list nginx-devel@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-devel