Module Name: src
Committed By: ryo
Date: Fri Dec 16 17:38:56 UTC 2022
Modified Files:
src/sys/dev/tprof: tprof.c
Log Message:
tprof_lock is not a spin mutex. use mutex_{enter,exit}(). oops
To generate a diff of this commit:
cvs rdiff -u -r1.21 -r1.22 src/sys/dev/tprof/tprof.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/sys/dev/tprof/tprof.c
diff -u src/sys/dev/tprof/tprof.c:1.21 src/sys/dev/tprof/tprof.c:1.22
--- src/sys/dev/tprof/tprof.c:1.21 Fri Dec 16 07:59:42 2022
+++ src/sys/dev/tprof/tprof.c Fri Dec 16 17:38:56 2022
@@ -1,4 +1,4 @@
-/* $NetBSD: tprof.c,v 1.21 2022/12/16 07:59:42 ryo Exp $ */
+/* $NetBSD: tprof.c,v 1.22 2022/12/16 17:38:56 ryo Exp $ */
/*-
* Copyright (c)2008,2009,2010 YAMAMOTO Takashi,
@@ -27,7 +27,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: tprof.c,v 1.21 2022/12/16 07:59:42 ryo Exp $");
+__KERNEL_RCSID(0, "$NetBSD: tprof.c,v 1.22 2022/12/16 17:38:56 ryo Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@@ -885,9 +885,9 @@ tprof_poll(dev_t dev, int events, struct
static void
filt_tprof_read_detach(struct knote *kn)
{
- mutex_spin_enter(&tprof_lock);
+ mutex_enter(&tprof_lock);
selremove_knote(&tprof_selp, kn);
- mutex_spin_exit(&tprof_lock);
+ mutex_exit(&tprof_lock);
}
static int
@@ -896,7 +896,7 @@ filt_tprof_read_event(struct knote *kn,
int rv = 0;
if ((hint & NOTE_SUBMIT) == 0)
- mutex_spin_enter(&tprof_lock);
+ mutex_enter(&tprof_lock);
if (!STAILQ_EMPTY(&tprof_list)) {
tprof_buf_t *buf;
@@ -911,7 +911,7 @@ filt_tprof_read_event(struct knote *kn,
}
if ((hint & NOTE_SUBMIT) == 0)
- mutex_spin_exit(&tprof_lock);
+ mutex_exit(&tprof_lock);
return rv;
}
@@ -929,9 +929,9 @@ tprof_kqfilter(dev_t dev, struct knote *
switch (kn->kn_filter) {
case EVFILT_READ:
kn->kn_fop = &tprof_read_filtops;
- mutex_spin_enter(&tprof_lock);
+ mutex_enter(&tprof_lock);
selrecord_knote(&tprof_selp, kn);
- mutex_spin_exit(&tprof_lock);
+ mutex_exit(&tprof_lock);
break;
default:
return EINVAL;