3 ms·
I hear about the elegance of BSD design often but have only worked deeply with Linux. Does anyone have some good LWN-type articles that goes deep into the diff
by stevenhuang 6y ago
I hear about the elegance of BSD design often but have only worked deeply with Linux.
Does anyone have some good LWN-type articles that goes deep into the differences between BSD vs Linux internels (also common user land traits in downstream distros)?
- rwaksmunski 6y agoMy favorite comparison is epoll vs kqueue. https://idea.popcount.org/2017-02-20-epoll-is-fundamentally-broken-12/ https://idea.popcount.org/2017-02-20-epoll-is-fundamentally-... https://people.freebsd.org/~jlemon/papers/kqueue.pdf https://people.freebsd.org/~jlemon/papers/kqueue.pdf
- garethrowlands 6y agoTo be fair to Linux, it has io_uring now.
- adrian_b 6y agoYes, it seems that we are finally approaching the time when waiting for multiple events and asynchronous I/O will become simple and efficient on Linux. However, this has always been a weak spot for Linux until recently and it took too many iterations of various partial solutions of the problem to reach the current state. This was a case when avoiding the NIH approach and looking carefully at the older Windows or FreeBSD solutions would have resulted in an earlier good solution.
- rwaksmunski 6y agoIIRC the official reason for simply not porting kqueue to Linux 20 years ago was: "it's over engineered". Linux has a ton a brilliant developers working on it, they had to know epoll wasn't all there, the epoll man page says as much. I've always suspected perhaps, maybe, potential patent infringement worries might have something to do with the broken design. If that's the case, fair enough, no one wants litigation.
- deleted 6y ago[deleted]