The branch releng/14.0 has been updated by imp:

URL: 
https://cgit.FreeBSD.org/src/commit/?id=d850e957e9370ba068e8a05099f0fb6fa84f6b52

commit d850e957e9370ba068e8a05099f0fb6fa84f6b52
Author:     Mateusz Guzik <m...@freebsd.org>
AuthorDate: 2023-09-17 15:01:33 +0000
Commit:     Warner Losh <i...@freebsd.org>
CommitDate: 2023-09-28 22:26:22 +0000

    timerfd: convert timerfd_list_lock from sx to mtx
    
    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)
---
 sys/kern/sys_timerfd.c | 16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)

diff --git a/sys/kern/sys_timerfd.c b/sys/kern/sys_timerfd.c
index c8b45a926b02..e4d2f10f28ef 100644
--- a/sys/kern/sys_timerfd.c
+++ b/sys/kern/sys_timerfd.c
@@ -61,9 +61,9 @@
 
 static MALLOC_DEFINE(M_TIMERFD, "timerfd", "timerfd structures");
 
-static struct sx timerfd_list_lock;
+static struct mtx timerfd_list_lock;
 static LIST_HEAD(, timerfd) timerfd_list;
-SX_SYSINIT(timerfd, &timerfd_list_lock, "timerfd_list_lock");
+MTX_SYSINIT(timerfd, &timerfd_list_lock, "timerfd_list_lock", MTX_DEF);
 
 static struct unrhdr64 tfdino_unr;
 
@@ -133,7 +133,7 @@ timerfd_jumped(void)
                return;
 
        timerfd_getboottime(&boottime);
-       sx_xlock(&timerfd_list_lock);
+       mtx_lock(&timerfd_list_lock);
        LIST_FOREACH(tfd, &timerfd_list, entry) {
                mtx_lock(&tfd->tfd_lock);
                if (tfd->tfd_clockid != CLOCK_REALTIME ||
@@ -169,7 +169,7 @@ timerfd_jumped(void)
                tfd->tfd_boottim = boottime;
                mtx_unlock(&tfd->tfd_lock);
        }
-       sx_xunlock(&timerfd_list_lock);
+       mtx_unlock(&timerfd_list_lock);
 }
 
 static int
@@ -324,9 +324,9 @@ timerfd_close(struct file *fp, struct thread *td)
 {
        struct timerfd *tfd = fp->f_data;
 
-       sx_xlock(&timerfd_list_lock);
+       mtx_lock(&timerfd_list_lock);
        LIST_REMOVE(tfd, entry);
-       sx_xunlock(&timerfd_list_lock);
+       mtx_unlock(&timerfd_list_lock);
 
        callout_drain(&tfd->tfd_callout);
        seldrain(&tfd->tfd_sel);
@@ -450,9 +450,9 @@ kern_timerfd_create(struct thread *td, int clockid, int 
flags)
        knlist_init_mtx(&tfd->tfd_sel.si_note, &tfd->tfd_lock);
        timerfd_getboottime(&tfd->tfd_boottim);
        getnanotime(&tfd->tfd_birthtim);
-       sx_xlock(&timerfd_list_lock);
+       mtx_lock(&timerfd_list_lock);
        LIST_INSERT_HEAD(&timerfd_list, tfd, entry);
-       sx_xunlock(&timerfd_list_lock);
+       mtx_unlock(&timerfd_list_lock);
 
        finit(fp, fflags, DTYPE_TIMERFD, tfd, &timerfdops);
 

Reply via email to