You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Enables the use of EPOLLEXCLUSIVE for UDP workers where supported.
Normal behaviour for multiple processes using EPOLL to listen on a single FD is for every
process to be woken on every IO event. This can cause a thundering herd effect, increasing context
switches and cpu usage.
With EPOLLEXLUSIVE only a single UDP worker will be woken to handle an IO request greatly
reducing context switching and contention, especially as the number of processes grow.
One potential downside to using EPOLLEXCLUSIVE is that EPOLL may coalesce multiple events on
a file descriptor into a single wakeup. This has the potential to increase latency if only a single
process is woken to handle potentially multiple SIP messages. To help balance latency and reduced
thundering this patch causes the first worker for a socket to not use EPOLLEXCLUSIVE and thus ALWAYS
get woken for events. If present, at least one other worker using EPOLLEXCLUSIVE will also be woken.
0 commit comments