Hi Ben, On Wed, Aug 27, 2014 at 06:03:54PM -0700, Ben Burkert wrote: > Hello, > > The 3.11 release of the Linux kernel added a new feature for low > latency network polling. Using the SO_BUSY_POLL socket option, an > application can enable busy polling. This instructs the kernel to poll > the network device driver directly for a period of time when the > application does a read or poll on the socket before new packets have > been recieved. For HAproxy deployments sensitive to latency or jitter, > supporting busy polling could provide a mechanism to trade higher CPU > load for reduced latency and jitter. > > I'm intersted in adding a feature to HAproxy for setting SO_BUSY_POLL > on a listener socket. I was thinking the socket option could be > enabled by setting a "busy_poll" keyword in the listen section. Is > there any interest in accepting patches for such a feature?
Better do it on the "bind" line since each bind line can have its own settings. Look for example at "tfo", "defer-accept" or "mss". Also, please see how TFO is enabled in the makefile so that we don't depend on having an up-to-date libc. Basically when we set USE_TFO, the required defines are set if not there yet. You should definitely do the same to ease the transition. Please prefer "busy-poll" to "busy_poll" since we're trying to avoid adding more underscores and prefer the more widespread "-" that's more readable especially at the bottom of a screen. And please post your results :-) Thanks, Willy