<div dir="ltr"><div><div>Yes, sorry. I was somewhat hasty when I sent this (I was boarding a plane).<br><br></div>I'm not sure how we can get some metrics without implementing this though.<br><br></div>Perhaps DocWilco has some numbers he can share?<br></div><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Mar 27, 2015 at 8:30 AM, Poul-Henning Kamp <span dir="ltr"><<a href="mailto:phk@phk.freebsd.dk" target="_blank">phk@phk.freebsd.dk</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">--------<br>
In message <CAJV_h0YFE=<a href="mailto:9Ad6dOwf%2Bz5aq3aFqROtzA8kdSowTOYgRRAMv05g@mail.gmail.com">9Ad6dOwf+z5aq3aFqROtzA8kdSowTOYgRRAMv05g@mail.gmail.com</a>><br>
<span class="">, Federico Schwindt writes:<br>
<br>
>Attached is a patch in that effect.<br>
><br>
>I have no empirical evidence this will improve things but I believe Fastly<br>
>and others are doing it with good results.<br>
<br>
</span>As I understand the documentation of SO_REUSEPORT your patch is a no-op.<br>
<br>
See for instance:   <a href="http://lwn.net/Articles/542629/" target="_blank">http://lwn.net/Articles/542629/</a><br>
<br>
SO_REUSEPORT allows you to bind(2) multiple sockets to the same port number[1].<br>
<br>
Setting the option but not creating more sockets doesn't do anything.<br>
<br>
What we do fall somewhere in the middle between the two scenarios descriped<br>
in the article above:  We have a single acceptor thread per thread pool.<br>
<br>
I have no idea how that performs relative to having multiple sockets, but<br>
I'd like to see some actual numbers before we start ripping things up.<br>
<br>
Poul-Henning<br>
<br>
[1] You can already do that with UDP under certain circumstances, but it<br>
    is not allowed for TCP.<br>
<div class="HOEnZb"><div class="h5"><br>
--<br>
Poul-Henning Kamp       | UNIX since Zilog Zeus 3.20<br>
phk@FreeBSD.ORG         | TCP/IP since RFC 956<br>
FreeBSD committer       | BSD since 4.3-tahoe<br>
Never attribute to malice what can adequately be explained by incompetence.<br>
</div></div></blockquote></div><br></div>