HomeFreeBSD

Expose eventfd in the native API/ABI using a new __specialfd syscall

Description

Expose eventfd in the native API/ABI using a new __specialfd syscall

eventfd is a Linux system call that produces special file descriptors
for event notification. When porting Linux software, it is currently
usually emulated by epoll-shim on top of kqueues. Unfortunately, kqueues
are not passable between processes. And, as noted by the author of
epoll-shim, even if they were, the library state would also have to be
passed somehow. This came up when debugging strange HW video decode
failures in Firefox. A native implementation would avoid these problems
and help with porting Linux software.

Since we now already have an eventfd implementation in the kernel (for
the Linuxulator), it's pretty easy to expose it natively, which is what
this patch does.

Submitted by: greg@unrelenting.technology
Reviewed by: markj (previous version)
MFC after: 2 weeks
Differential Revision: https://reviews.freebsd.org/D26668

Details

Provenance
kibAuthored on Dec 23 2020, 2:14 PM
Reviewer
markj
Differential Revision
D26668: Expose eventfd in the native API/ABI using a new __specialfd syscall
Parents
rG7cb901bf227f: Remove useless ARGUSED annotations.
Branches
Unknown
Tags
Unknown