3 ms·
I'd love a TL;DR explaination for why a blanket interface is not possible. I can guess that there are different ways that syscalls handle parameters and there a
by ithkuil 6y ago
I'd love a TL;DR explaination for why a blanket interface is not possible. I can guess that there are different ways that syscalls handle parameters and there are different families of syscall behaviours, but I'm not sure if that's the reason. I'd love a quick intro and pointers to more details.
- cb321 6y agoYou can look at my code in the link I gave. It's pretty short and should work on kernels 3.x series to 5.x series. { EDIT: I realize this may make you ask your question even more strongly. :-) }
- pengaru 6y agoWhile I won't be writing a TL;DR summary, this isn't exactly unexplored territory, and it's been documented by lwn: https://lwn.net/Articles/316806/ https://lwn.net/Articles/316806/ https://lwn.net/Articles/221887/ https://lwn.net/Articles/221887/ https://lwn.net/Articles/219954/ https://lwn.net/Articles/219954/
- cb321 6y agoThose articles (and syslets) all seem to have this strong async focus. That could simply reflect pengaru's bias/interest. So, I do not know for sure, but I suspect the TL;DR is "async & scheduling in the mix makes it hard to get right". That complexity may also relate to the missing syscalls. My approach has both the virtue and curse of being too simple to worry about all that, but it _does_ remove basic syscall overhead.
- IAmLiterallyAB 6y agoAnother interesting idea was FlexSC https://www.usenix.org/legacy/events/osdi10/tech/full_papers/Soares.pdf https://www.usenix.org/legacy/events/osdi10/tech/full_papers...