git: d00ba10be5 - main - Status/2023Q1/timerfd: Add report

From: Lorenzo Salvadore <>
Date: Sat, 25 Mar 2023 10:26:19 UTC
The branch main has been updated by salvadore:


commit d00ba10be5db70ae7834ef9dbb7e237fea413966
Author:     Jake Freeland <>
AuthorDate: 2023-03-23 23:42:50 +0000
Commit:     Lorenzo Salvadore <>
CommitDate: 2023-03-25 10:25:59 +0000

    Status/2023Q1/timerfd: Add report
    Reviewed by:    status (Pau Amma <>)
    Approved by:    carlavilla (mentor)
    Differential Revision:
 .../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:[Differential revision] URL: link:[]
+Contact: Jake Freeland <>
+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:[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.