Module Name:    src
Committed By:   ad
Date:           Thu Sep  7 20:05:42 UTC 2023

Modified Files:
        src/sys/kern: kern_mutex.c kern_rwlock.c
        src/sys/sys: mutex.h rwlock.h

Log Message:
Remove dodgy and unused mutex_owner_running() & rw_owner_running().


To generate a diff of this commit:
cvs rdiff -u -r1.108 -r1.109 src/sys/kern/kern_mutex.c
cvs rdiff -u -r1.71 -r1.72 src/sys/kern/kern_rwlock.c
cvs rdiff -u -r1.27 -r1.28 src/sys/sys/mutex.h
cvs rdiff -u -r1.18 -r1.19 src/sys/sys/rwlock.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/kern/kern_mutex.c
diff -u src/sys/kern/kern_mutex.c:1.108 src/sys/kern/kern_mutex.c:1.109
--- src/sys/kern/kern_mutex.c:1.108	Mon Jul 17 12:54:29 2023
+++ src/sys/kern/kern_mutex.c	Thu Sep  7 20:05:42 2023
@@ -1,4 +1,4 @@
-/*	$NetBSD: kern_mutex.c,v 1.108 2023/07/17 12:54:29 riastradh Exp $	*/
+/*	$NetBSD: kern_mutex.c,v 1.109 2023/09/07 20:05:42 ad Exp $	*/
 
 /*-
  * Copyright (c) 2002, 2006, 2007, 2008, 2019 The NetBSD Foundation, Inc.
@@ -40,7 +40,7 @@
 #define	__MUTEX_PRIVATE
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: kern_mutex.c,v 1.108 2023/07/17 12:54:29 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: kern_mutex.c,v 1.109 2023/09/07 20:05:42 ad Exp $");
 
 #include <sys/param.h>
 #include <sys/atomic.h>
@@ -752,6 +752,8 @@ mutex_vector_exit(kmutex_t *mtx)
 	 * Avoid having to take the turnstile chain lock every time
 	 * around.  Raise the priority level to splhigh() in order
 	 * to disable preemption and so make the following atomic.
+	 * This also blocks out soft interrupts that could set the
+	 * waiters bit.
 	 */
 	{
 		int s = splhigh();
@@ -842,31 +844,6 @@ mutex_owner(wchan_t wchan)
 }
 
 /*
- * mutex_owner_running:
- *
- *	Return true if an adaptive mutex is unheld, or held and the owner is
- *	running on a CPU.  For the pagedaemon only - do not document or use
- *	in other code.
- */
-bool
-mutex_owner_running(const kmutex_t *mtx)
-{
-#ifdef MULTIPROCESSOR
-	uintptr_t owner;
-	bool rv;
-
-	MUTEX_ASSERT(mtx, MUTEX_ADAPTIVE_P(mtx->mtx_owner));
-	kpreempt_disable();
-	owner = mtx->mtx_owner;
-	rv = !MUTEX_OWNED(owner) || mutex_oncpu(MUTEX_OWNER(owner));
-	kpreempt_enable();
-	return rv;
-#else
-	return mutex_owner(mtx) == curlwp;
-#endif
-}
-
-/*
  * mutex_ownable:
  *
  *	When compiled with DEBUG and LOCKDEBUG defined, ensure that

Index: src/sys/kern/kern_rwlock.c
diff -u src/sys/kern/kern_rwlock.c:1.71 src/sys/kern/kern_rwlock.c:1.72
--- src/sys/kern/kern_rwlock.c:1.71	Mon Jul 17 12:54:29 2023
+++ src/sys/kern/kern_rwlock.c	Thu Sep  7 20:05:42 2023
@@ -1,4 +1,4 @@
-/*	$NetBSD: kern_rwlock.c,v 1.71 2023/07/17 12:54:29 riastradh Exp $	*/
+/*	$NetBSD: kern_rwlock.c,v 1.72 2023/09/07 20:05:42 ad Exp $	*/
 
 /*-
  * Copyright (c) 2002, 2006, 2007, 2008, 2009, 2019, 2020
@@ -45,7 +45,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: kern_rwlock.c,v 1.71 2023/07/17 12:54:29 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: kern_rwlock.c,v 1.72 2023/09/07 20:05:42 ad Exp $");
 
 #include "opt_lockdebug.h"
 
@@ -586,7 +586,7 @@ rw_vector_tryenter(krwlock_t *rw, const 
 void
 rw_downgrade(krwlock_t *rw)
 {
-	uintptr_t owner, curthread, newown, next;
+	uintptr_t owner, newown, next, curthread __diagused;
 	turnstile_t *ts;
 	int rcnt, wcnt;
 	lwp_t *l;
@@ -597,9 +597,6 @@ rw_downgrade(krwlock_t *rw)
 	RW_ASSERT(rw, (rw->rw_owner & RW_WRITE_LOCKED) != 0);
 	RW_ASSERT(rw, RW_OWNER(rw) == curthread);
 	RW_UNLOCKED(rw, RW_WRITER);
-#if !defined(DIAGNOSTIC)
-	__USE(curthread);
-#endif
 
 	membar_release();
 	for (owner = rw->rw_owner;; owner = next) {
@@ -801,26 +798,3 @@ rw_owner(wchan_t obj)
 
 	return (void *)(owner & RW_THREAD);
 }
-
-/*
- * rw_owner_running:
- *
- *	Return true if a RW lock is unheld, or write held and the owner is
- *	running on a CPU.  For the pagedaemon.
- */
-bool
-rw_owner_running(const krwlock_t *rw)
-{
-#ifdef MULTIPROCESSOR
-	uintptr_t owner;
-	bool rv;
-
-	kpreempt_disable();
-	owner = rw->rw_owner;
-	rv = (owner & RW_THREAD) == 0 || rw_oncpu(owner);
-	kpreempt_enable();
-	return rv;
-#else
-	return rw_owner(rw) == curlwp;
-#endif
-}

Index: src/sys/sys/mutex.h
diff -u src/sys/sys/mutex.h:1.27 src/sys/sys/mutex.h:1.28
--- src/sys/sys/mutex.h:1.27	Wed Apr 12 06:35:40 2023
+++ src/sys/sys/mutex.h	Thu Sep  7 20:05:41 2023
@@ -1,4 +1,4 @@
-/*	$NetBSD: mutex.h,v 1.27 2023/04/12 06:35:40 riastradh Exp $	*/
+/*	$NetBSD: mutex.h,v 1.28 2023/09/07 20:05:41 ad Exp $	*/
 
 /*-
  * Copyright (c) 2002, 2006, 2007, 2008, 2009, 2019 The NetBSD Foundation, Inc.
@@ -199,7 +199,6 @@ int	mutex_tryenter(kmutex_t *);
 
 int	mutex_owned(const kmutex_t *);
 int	mutex_ownable(const kmutex_t *);
-bool	mutex_owner_running(const kmutex_t *);
 
 void	mutex_obj_init(void);
 kmutex_t *mutex_obj_alloc(kmutex_type_t, int);

Index: src/sys/sys/rwlock.h
diff -u src/sys/sys/rwlock.h:1.18 src/sys/sys/rwlock.h:1.19
--- src/sys/sys/rwlock.h:1.18	Sun Jul  9 16:32:28 2023
+++ src/sys/sys/rwlock.h	Thu Sep  7 20:05:41 2023
@@ -1,4 +1,4 @@
-/*	$NetBSD: rwlock.h,v 1.18 2023/07/09 16:32:28 riastradh Exp $	*/
+/*	$NetBSD: rwlock.h,v 1.19 2023/09/07 20:05:41 ad Exp $	*/
 
 /*-
  * Copyright (c) 2002, 2006, 2007, 2008, 2019, 2020 The NetBSD Foundation, Inc.
@@ -84,7 +84,6 @@ typedef struct krwlock krwlock_t;
 void	rw_vector_enter(krwlock_t *, const krw_t);
 void	rw_vector_exit(krwlock_t *);
 int	rw_vector_tryenter(krwlock_t *, const krw_t);
-bool	rw_owner_running(const krwlock_t *);
 #endif	/* __RWLOCK_PRIVATE */
 
 struct krwlock {

Reply via email to