One of the benefits of this design overlooked is that you can have several dedicated accepting-threads. The benefit is magnified when you have something like HTTP where the client speaks first.<p>Another benefit of this design overlooked is that individual cores may not <i>ever</i> need to read memory -- the entire task can run in L1 or L2. If a single worker becomes too complicated this benefit is lost, and memory is much <i>much</i> slower than cache.<p>SO_REUSEPORT is not panacea, and I do not agree that you should have threads accept <i>and</i> handle requests, but I do think SO_REUSEPORT is useful for making upgrades easier. I have (historically) simply blocked outgoing ICMP port-unreachable messages for ports that I know are supposed to be running since that&#x27;s more portable than SO_REUSEPORT.<p>accept4() is a good idea. I&#x27;ve added a note about that. Thank you.