feel free to email me at

poll vs epoll

You know, poll really sucks.

I threw out poll stuff from rtp proxy and switched to epoll. Load average on sip load balancer dropped from 1.5 to 0.1-0.3. Proxy is listening on ~200 sockets at peak.

Poll-based proxy used 14% of overall time running in kernel mode, with epoll - 7%.

Asking “what’s it to me?”. Squid in debian sarge uses poll. May be others use it too.

Raw numbers (poll is first, epoll is second).

kef@sp1:~$ grep time p.773
               utime: 352.930000
               stime: 7540.880000
              cutime: 0.000000
              cstime: 0.000000
          start_time: 11.07 07:05 (53675.92s)
kef@sp1:~$ grep time p.5391
               utime: 689.300000
               stime: 8293.990000
              cutime: 0.000000
              cstime: 0.000000
          start_time: 11.07 23:41 (111076.84s)