Adding C library wrappers for all Linux syscalls
summary
Calls for adding C library wrappers for every Linux syscall, arguing this makes kernel features easy to use and test, and proposing prioritized work on futex wait/futex wake primitive and futex2 so libraries can offer safe wait/wake APIs. Notes gap fixed recently by a SCHED_DEADLINE wrapper and explains obstacles: arch-dependent syscall ABI, time32 versus time64 timeout types, language runtimes embedding assembly (Go), and missing headers. Proposes partial autogeneration, mentoring glibc patches, and cleaning UAPI headers to ship usable wrappers.
AI-written summary · about
chapters (9)
- 0:00Call to action
- 1:05Why syscall wrappers matter
- 3:55Problems with raw syscalls
- 6:29Futex complexity example
- 9:46Assembly wrappers in runtimes
- 12:12C library role in ecosystem
- 14:38Autogenerating wrappers
- 18:52Agreeing on standards
- 22:25Future steps and collaboration
related talks
46mGNU C Library
01h 26mLinux User/Kernel ABI: the realities of how C and C++ programs really talk to the OS
26mDesigning Syscalls for Extensibility
36mLinux Kernel Developer Panel
40mImproving UAPI Compatibility Review with Automated Tooling
27mTuning in-kernel routines on RISC-V
21mState of futex2
13mRISC-V 32-bit glibc port
