11–13 Dec 2025
Asia/Tokyo timezone

Adding C library wrappers for all Linux syscalls

Not scheduled
20m
Toolchains MC Toolchains MC

Speaker

Mr Carlos O'Donell (Red Hat)

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

Primary author

Mr Carlos O'Donell (Red Hat)

Presentation materials

There are no materials yet.