git: d00ba10be5 - main - Status/2023Q1/timerfd: Add report
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Sat, 25 Mar 2023 10:26:19 UTC
The branch main has been updated by salvadore: URL: https://cgit.FreeBSD.org/doc/commit/?id=d00ba10be5db70ae7834ef9dbb7e237fea413966 commit d00ba10be5db70ae7834ef9dbb7e237fea413966 Author: Jake Freeland <jfree@FreeBSD.org> AuthorDate: 2023-03-23 23:42:50 +0000 Commit: Lorenzo Salvadore <salvadore@FreeBSD.org> CommitDate: 2023-03-25 10:25:59 +0000 Status/2023Q1/timerfd: Add report Reviewed by: status (Pau Amma <pauamma@gundo.com>) Approved by: carlavilla (mentor) Differential Revision: https://reviews.freebsd.org/D39238 --- .../en/status/report-2023-01-2023-03/timerfd.adoc | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/website/content/en/status/report-2023-01-2023-03/timerfd.adoc b/website/content/en/status/report-2023-01-2023-03/timerfd.adoc new file mode 100644 index 0000000000..0b971fc047 --- /dev/null +++ b/website/content/en/status/report-2023-01-2023-03/timerfd.adoc @@ -0,0 +1,22 @@ +=== Native Linux timerfd + +Links: + +link:https://reviews.freebsd.org/D38459[Differential revision] URL: link:https://reviews.freebsd.org/D38459[https://reviews.freebsd.org/D38459] + +Contact: Jake Freeland <jfree@FreeBSD.org> + +The timerfd facility is a set of Linux-standard system calls that operate on interval timers. +These timers are analogous to per-process timers but are represented by a file descriptor, rather than a process. +These file descriptors may be passed to other processes, are preserved across fork(2), and may be monitored via kevent(2), poll(2), or select(2). + +A timerfd implementation in FreeBSD already exists for Linux compatibility, but +link:https://reviews.freebsd.org/D38459[this differential revision] +makes the interface native. +The goal behind this change is to ease the FreeBSD porting process for programs that include timerfd. + +This specific implementation avoids adding new names to the system call table. +Instead, timerfd_create() is wrapped by the specialfd() system call. +The timerfd_gettime() and timerfd_settime() calls are wrapped ioctl()s. + +Developers that wish to support FreeBSD should avoid using timerfd. +The kqueue() EVFILT_TIMER filter is preferred for establishing arbitrary timers.