Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Worth reading some critique about epoll as well: https://idea.popcount.org/2017-02-20-epoll-is-fundamentally-...

Not to negate all the goodies that has given us



He does not speak about SO_REUSEPORT (https://lwn.net/Articles/542629/)

tldr: you create a bunch of processes, each of them creates its own socket (bound to the same local port) and processes requests. The kernel split incoming connections amongst the processes.

The issue: "short" and "long" requests are managed in the same way, so one process could be overloaded by "long" requests. There is no feedback loop, as far as I know.

Also, he does not speak about SCM_RIGHTS (https://man7.org/linux/man-pages/man7/unix.7.html), which may be replaced by the newer pidfd_getfd (https://man7.org/linux/man-pages/man2/pidfd_getfd.2.html)

tldr: you can pass a file descriptor between processes. So an overloaded process could pass some work to another worker.

Epoll is a great component, yet it will not give you billions of qps alone


> He does not speak about SO_REUSEPORT (https://lwn.net/Articles/542629/)

They do. Look for "Correct Solution" further down.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: