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.