Speaker
Description
In 2014 I added "WIP: Kernel syscalls wrappers" [1] item to the upstream glibc consensus documentation.
Over the last 11 years the idea that we should add C library wrappers for all Linux syscalls has waxed and waned, but I would like to revisit the idea with the help of the kernel community.
I want to look at the history of the policy, why it came out, and what work is required to add C library interfaces for some of the more complex syscalls we don't currently support.
We will visit the worst offender which is futex() and discuss how we might add a wait-wake primitive to userspace that all callers can use.
We will review the recent addition to glibc for SCHED_DEADLINE and how it came about and attempt to understand why we never had a C library interface for sched_setattr() and sched_getattr().
I'll close with a call to action again for always having the syscalls available as C library calls even if they could be used behind the back of the implementation.
Reference:
[1] https://sourceware.org/glibc/wiki/Consensus?action=diff&rev1=13&rev2=14