4 ms·
About the first video talking about epoll design flaws, doesn't EPOLLONESHOT kind of solve this? Unless I am missing something..
by vidoc 10y ago
About the first video talking about epoll design flaws, doesn't EPOLLONESHOT kind of solve this? Unless I am missing something..
- X86BSD 10y agoPerhaps it does. But the point was that the Linux world never seems to get things right. They implement horrendous solutions that are not engineered or even well thought out and wind up reimplementing said solution over and over and over again to solve the problem instead of learning anything from others who have solved these problems already. They refuse to look outside their echo chamber and double down on NIH and just implement piss poor solutions to problems. And it's so frustrating for the rest of us to watch.
- vidoc 10y ago> Perhaps it does. But the point was that the Linux world never seems to get things right. Well in this particular case, seems like this feature was added in linux 2.6.2 (2004). epoll itself was added in linux 2.5.44 (2002), so yep, you're correct that they didn't make this right immediately. Now I think it is rather easy to play this game of pinpointing flaws this way and it could be done the other way around, probably in an equally as unconstructive matter (e.g: how long did freebsd wait for robust mutexes?). That said, amazing speaker, thanks for the links.
- X86BSD 10y agoWaiting to implement a feature while you actually engineer it well and robustly is not the same as throwing poop at a wall and seeing what sticks then scraping the poop off and forming it into another shape and throwing at the wall again.
- vidoc 10y agoSeems like you are no fan of linux's robust mutexes implementation. Sincerely, you probably know more than me about the implementation and I'd be curious to have your take on it as I have not looked at how (and so late) it was implemented in FreeBSD.
- X86BSD 10y agoThese are great reads for how it was implemented. As for how late see above. https://www.bsdcan.org/2012/schedule/attachments/195_locking.pdf https://www.bsdcan.org/2012/schedule/attachments/195_locking... https://books.google.com/books?id=aY1pBAAAQBAJ&printsec=frontcover&dq=design+and+implementation+of+the+freebsd+operating+system&hl=en&sa=X&ved=0ahUKEwiH06vohqzOAhVDTCYKHavvBCYQ6AEIHDAA#v=onepage&q=freebsd%20mutex%20implementation&f=false https://books.google.com/books?id=aY1pBAAAQBAJ&printsec=fron...
- koverstreet 10y agoedge triggered is the correct way to use epoll, which has been there since the beginning. The reason epoll has a stupid mode is that it was also designed to be a drop in replacement for select.