4 ms·
The linked interview with Bryan Cantrill gives a good explanation of why it's broken: a straightforward implementation behaves in a way you never want, with biz
by gizmo 10y ago
The linked interview with Bryan Cantrill gives a good explanation of why it's broken: a straightforward implementation behaves in a way you never want, with bizarre behavior where the kernel can wake up a thread with an accept() on a fd that has already been closed. linux should just have adopted kqueue or an IOCP model instead.
https://youtu.be/l6XQUciI-Sc?t=3643 https://youtu.be/l6XQUciI-Sc?t=3643
- ktRolster 10y ago>accept() on a fd that has already been closed. Why are people doing that?
- astrodust 10y agoThreads, like drugs, make you do strange and unpredictable things.
- dboreham 10y agoI believe at the time there was concern that Microsoft would sue for patent infringement relating to IOCP. Source: at the time I worked on high-performance server products and had discussions with various people active on the kernel side of the problem and encountered much head-shaking and muttering about patents, when I mentioned implementing IOCP.
- aijeiy9X 10y agoDidn't Linus said that all he cared about is getting code back, with no concern over patent grants such as the one in gplv3? Head-shaking and muttering is all good but the kernel developers has had a long time to take an active stance against software patents and has consistently chosen not to do so. As a project they have chosen not to get political about patents, so this is the reality they have embraced.
- dboreham 10y agoI think we're saying the same thing. fwiw there was an IOCP-like capability added to AIX, again supposedly because IBM did not have fears about patent infringement (likely due to cross-licensing arrangements).
- X86BSD 10y agoThey would never EVER adopt something NIH. Linux is riddled with proof of that. They should still adopt kqueue though. But he is right, it is, just.. broken isn't even the right word. Crime against humanity maybe? What is so disturbing is this has been known forever that epoll should be drown in a bathtub but no one does, it's just "la dee da I can't here you! I can't hear you!" and Linux trudges on with yet another limp. As he also says "kqueue and event ports are T-Ball, compared to ZFS and Dtrace and jails are a lot harder... if you got the little stuff wrong..." It's just frustrating. It's broken. You know it's broken. FIX IT!