<feed xmlns='http://www.w3.org/2005/Atom'>
<title>src/sys/kern/sys_timerfd.c, branch releng/14.0</title>
<subtitle>FreeBSD source tree</subtitle>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/'/>
<entry>
<title>timerfd: Relocate 32-bit compat code</title>
<updated>2023-09-28T22:26:25+00:00</updated>
<author>
<name>Jake Freeland</name>
<email>jfree@FreeBSD.org</email>
</author>
<published>2023-09-17T15:01:58+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=40293a0995d92717dc88bd7ccbf0d841b9a9d428'/>
<id>40293a0995d92717dc88bd7ccbf0d841b9a9d428</id>
<content type='text'>
32-bit compatibility code is conventionally stored in
sys/compat/freebsd32. Move freebsd32_timerfd_gettime() and
freebsd32_timerfd_settime() from sys/kern/sys_timerfd.c to
sys/compat/freebsd32/freebsd32_misc.c.

MFC After: 3 days
Reviewed by: imp, markj
Differential Revision; https://reviews.freebsd.org/D41640

(cherry picked from commit 918966a27479b4fb7c4c8999c4926d83c2c081e5)
(cherry picked from commit 27d567847b18275012bf39fb517dceee41b1ed33)

Approved-by: re (cperciva)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
32-bit compatibility code is conventionally stored in
sys/compat/freebsd32. Move freebsd32_timerfd_gettime() and
freebsd32_timerfd_settime() from sys/kern/sys_timerfd.c to
sys/compat/freebsd32/freebsd32_misc.c.

MFC After: 3 days
Reviewed by: imp, markj
Differential Revision; https://reviews.freebsd.org/D41640

(cherry picked from commit 918966a27479b4fb7c4c8999c4926d83c2c081e5)
(cherry picked from commit 27d567847b18275012bf39fb517dceee41b1ed33)

Approved-by: re (cperciva)
</pre>
</div>
</content>
</entry>
<entry>
<title>timerfd: Define a locking regime</title>
<updated>2023-09-28T22:26:23+00:00</updated>
<author>
<name>Jake Freeland</name>
<email>jfree@FreeBSD.org</email>
</author>
<published>2023-09-17T15:01:46+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=aebc51ee479104bc92f5bfa97d1b970637cb24c5'/>
<id>aebc51ee479104bc92f5bfa97d1b970637cb24c5</id>
<content type='text'>
    Define a locking regime for the members of struct timerfd and document
    it so future code can follow the standard. The lock legend can be found
    in a comment above struct timerfd.

    Additionally,
    * Add assertions based on locking regime.
    * Fill kn_data with the expiration count when EVFILT_READ is triggered.
    * Report st_ctim for stat(2).
    * Check if file has f_type == DTYPE_TIMERFD before assigning timerfd
      pointer to f_data.

MFC After: 3 days
Reviewed by:	imp, kib, markj
Differential Revision:	https://reviews.freebsd.org/D41600

(cherry picked from commit a1f506156c4db885d3cc177c93e9c8a28d535d30)
(cherry picked from commit d00e6d87745528be7acf58f39eaa148d8cb6c7c2)

Approved-by: re (cperciva)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
    Define a locking regime for the members of struct timerfd and document
    it so future code can follow the standard. The lock legend can be found
    in a comment above struct timerfd.

    Additionally,
    * Add assertions based on locking regime.
    * Fill kn_data with the expiration count when EVFILT_READ is triggered.
    * Report st_ctim for stat(2).
    * Check if file has f_type == DTYPE_TIMERFD before assigning timerfd
      pointer to f_data.

MFC After: 3 days
Reviewed by:	imp, kib, markj
Differential Revision:	https://reviews.freebsd.org/D41600

(cherry picked from commit a1f506156c4db885d3cc177c93e9c8a28d535d30)
(cherry picked from commit d00e6d87745528be7acf58f39eaa148d8cb6c7c2)

Approved-by: re (cperciva)
</pre>
</div>
</content>
</entry>
<entry>
<title>timerfd: convert timerfd_list_lock from sx to mtx</title>
<updated>2023-09-28T22:26:22+00:00</updated>
<author>
<name>Mateusz Guzik</name>
<email>mjg@FreeBSD.org</email>
</author>
<published>2023-09-17T15:01:33+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=d850e957e9370ba068e8a05099f0fb6fa84f6b52'/>
<id>d850e957e9370ba068e8a05099f0fb6fa84f6b52</id>
<content type='text'>
There was no good reason to use the former. This should prevent some
head-scratching by an interested and qualified reader.

(cherry picked from commit f4296cfb409a48de00bfa60e76f686c2b031876f)
(cherry picked from commit a87dddf39e866015341003eeac76d736d993514a)

Approved-by: re (cperciva)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
There was no good reason to use the former. This should prevent some
head-scratching by an interested and qualified reader.

(cherry picked from commit f4296cfb409a48de00bfa60e76f686c2b031876f)
(cherry picked from commit a87dddf39e866015341003eeac76d736d993514a)

Approved-by: re (cperciva)
</pre>
</div>
</content>
</entry>
<entry>
<title>timerfd: compute fflags before calling falloc</title>
<updated>2023-09-28T22:26:20+00:00</updated>
<author>
<name>Mateusz Guzik</name>
<email>mjg@FreeBSD.org</email>
</author>
<published>2023-08-25T15:09:21+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=fa786d4da669dcb02884d79565f6dd1b8e0db1c7'/>
<id>fa786d4da669dcb02884d79565f6dd1b8e0db1c7</id>
<content type='text'>
While here dodge list locking in timerfd_adjust if empty.

(cherry picked from commit 5eab523053db79b4bd4f926c7d7ac04444d9c1da)

Approved by: re (cperciva@)

(cherry picked from commit fc0c24482f11c403480c5219810a27d8591a8fb6)

Approved-by: re (cperciva)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
While here dodge list locking in timerfd_adjust if empty.

(cherry picked from commit 5eab523053db79b4bd4f926c7d7ac04444d9c1da)

Approved by: re (cperciva@)

(cherry picked from commit fc0c24482f11c403480c5219810a27d8591a8fb6)

Approved-by: re (cperciva)
</pre>
</div>
</content>
</entry>
<entry>
<title>timerfd: fix up a memory leak and missing locking</title>
<updated>2023-09-28T22:26:19+00:00</updated>
<author>
<name>Mateusz Guzik</name>
<email>mjg@FreeBSD.org</email>
</author>
<published>2023-08-25T14:21:39+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=fcafa24531021555976b4945d9c58667c0f75ca2'/>
<id>fcafa24531021555976b4945d9c58667c0f75ca2</id>
<content type='text'>
timerfd01 from ltp passes (and some other don't), but none of the tests
crash the kernel.

This is a bare minimum patch to fix up the immediate regression.

Reported by:	yasu

(cherry picked from commit 02f534b57f84d6f4f97c337b05b383c8b3aaf18c)

Approved by: re (cperciva@)

(cherry picked from commit 8c496b26641e3d86b0c9db0ed2b4598093df6d5a)

Approved-by: re (cperciva)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
timerfd01 from ltp passes (and some other don't), but none of the tests
crash the kernel.

This is a bare minimum patch to fix up the immediate regression.

Reported by:	yasu

(cherry picked from commit 02f534b57f84d6f4f97c337b05b383c8b3aaf18c)

Approved by: re (cperciva@)

(cherry picked from commit 8c496b26641e3d86b0c9db0ed2b4598093df6d5a)

Approved-by: re (cperciva)
</pre>
</div>
</content>
</entry>
<entry>
<title>timerfd: Move implementation from linux compat to sys/kern</title>
<updated>2023-08-24T20:28:56+00:00</updated>
<author>
<name>Jake Freeland</name>
<email>jfree@freebsd.org</email>
</author>
<published>2023-08-24T04:39:54+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=af93fea710385b2b11f0cabd377e7ed6f3d97c34'/>
<id>af93fea710385b2b11f0cabd377e7ed6f3d97c34</id>
<content type='text'>
Move the timerfd impelemntation from linux compat code to sys/kern. Use
it to implement the new system calls for timerfd. Add a hook to kern_tc
to allow timerfd to know when the system time has stepped. Add kqueue
support to timerfd. Adjust a few names to be less Linux centric.

RelNotes: YES
Reviewed by: markj (on irc), imp, kib (with reservations), jhb (slack)
Differential Revision: https://reviews.freebsd.org/D38459
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Move the timerfd impelemntation from linux compat code to sys/kern. Use
it to implement the new system calls for timerfd. Add a hook to kern_tc
to allow timerfd to know when the system time has stepped. Add kqueue
support to timerfd. Adjust a few names to be less Linux centric.

RelNotes: YES
Reviewed by: markj (on irc), imp, kib (with reservations), jhb (slack)
Differential Revision: https://reviews.freebsd.org/D38459
</pre>
</div>
</content>
</entry>
</feed>
