Module Name:    src
Committed By:   riastradh
Date:           Mon Jul 17 12:54:29 UTC 2023

Modified Files:
        src/sys/kern: kern_condvar.c kern_mutex.c kern_rwlock.c kern_synch.c
            sys_lwp.c sys_select.c
        src/sys/sys: syncobj.h

Log Message:
kern: New struct syncobj::sobj_name member for diagnostics.

XXX potential kernel ABI change -- not sure any modules actually use
struct syncobj but it's hard to rule that out because sys/syncobj.h
leaks into sys/lwp.h


To generate a diff of this commit:
cvs rdiff -u -r1.54 -r1.55 src/sys/kern/kern_condvar.c
cvs rdiff -u -r1.107 -r1.108 src/sys/kern/kern_mutex.c
cvs rdiff -u -r1.70 -r1.71 src/sys/kern/kern_rwlock.c
cvs rdiff -u -r1.357 -r1.358 src/sys/kern/kern_synch.c
cvs rdiff -u -r1.83 -r1.84 src/sys/kern/sys_lwp.c
cvs rdiff -u -r1.60 -r1.61 src/sys/kern/sys_select.c
cvs rdiff -u -r1.13 -r1.14 src/sys/sys/syncobj.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_condvar.c
diff -u src/sys/kern/kern_condvar.c:1.54 src/sys/kern/kern_condvar.c:1.55
--- src/sys/kern/kern_condvar.c:1.54	Wed Jun 29 22:27:01 2022
+++ src/sys/kern/kern_condvar.c	Mon Jul 17 12:54:29 2023
@@ -1,4 +1,4 @@
-/*	$NetBSD: kern_condvar.c,v 1.54 2022/06/29 22:27:01 riastradh Exp $	*/
+/*	$NetBSD: kern_condvar.c,v 1.55 2023/07/17 12:54:29 riastradh Exp $	*/
 
 /*-
  * Copyright (c) 2006, 2007, 2008, 2019, 2020 The NetBSD Foundation, Inc.
@@ -34,7 +34,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: kern_condvar.c,v 1.54 2022/06/29 22:27:01 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: kern_condvar.c,v 1.55 2023/07/17 12:54:29 riastradh Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -70,6 +70,7 @@ static inline void	cv_wakeup_one(kcondva
 static inline void	cv_wakeup_all(kcondvar_t *);
 
 syncobj_t cv_syncobj = {
+	.sobj_name	= "cv",
 	.sobj_flag	= SOBJ_SLEEPQ_SORTED,
 	.sobj_unsleep	= cv_unsleep,
 	.sobj_changepri	= sleepq_changepri,

Index: src/sys/kern/kern_mutex.c
diff -u src/sys/kern/kern_mutex.c:1.107 src/sys/kern/kern_mutex.c:1.108
--- src/sys/kern/kern_mutex.c:1.107	Mon May  1 12:18:08 2023
+++ src/sys/kern/kern_mutex.c	Mon Jul 17 12:54:29 2023
@@ -1,4 +1,4 @@
-/*	$NetBSD: kern_mutex.c,v 1.107 2023/05/01 12:18:08 riastradh Exp $	*/
+/*	$NetBSD: kern_mutex.c,v 1.108 2023/07/17 12:54:29 riastradh 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.107 2023/05/01 12:18:08 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: kern_mutex.c,v 1.108 2023/07/17 12:54:29 riastradh Exp $");
 
 #include <sys/param.h>
 #include <sys/atomic.h>
@@ -296,6 +296,7 @@ lockops_t mutex_adaptive_lockops = {
 };
 
 syncobj_t mutex_syncobj = {
+	.sobj_name	= "mutex",
 	.sobj_flag	= SOBJ_SLEEPQ_SORTED,
 	.sobj_unsleep	= turnstile_unsleep,
 	.sobj_changepri	= turnstile_changepri,

Index: src/sys/kern/kern_rwlock.c
diff -u src/sys/kern/kern_rwlock.c:1.70 src/sys/kern/kern_rwlock.c:1.71
--- src/sys/kern/kern_rwlock.c:1.70	Fri Feb 24 11:11:10 2023
+++ src/sys/kern/kern_rwlock.c	Mon Jul 17 12:54:29 2023
@@ -1,4 +1,4 @@
-/*	$NetBSD: kern_rwlock.c,v 1.70 2023/02/24 11:11:10 riastradh Exp $	*/
+/*	$NetBSD: kern_rwlock.c,v 1.71 2023/07/17 12:54:29 riastradh 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.70 2023/02/24 11:11:10 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: kern_rwlock.c,v 1.71 2023/07/17 12:54:29 riastradh Exp $");
 
 #include "opt_lockdebug.h"
 
@@ -121,6 +121,7 @@ lockops_t rwlock_lockops = {
 };
 
 syncobj_t rw_syncobj = {
+	.sobj_name	= "rw",
 	.sobj_flag	= SOBJ_SLEEPQ_SORTED,
 	.sobj_unsleep	= turnstile_unsleep,
 	.sobj_changepri	= turnstile_changepri,

Index: src/sys/kern/kern_synch.c
diff -u src/sys/kern/kern_synch.c:1.357 src/sys/kern/kern_synch.c:1.358
--- src/sys/kern/kern_synch.c:1.357	Thu Jul 13 13:33:55 2023
+++ src/sys/kern/kern_synch.c	Mon Jul 17 12:54:29 2023
@@ -1,4 +1,4 @@
-/*	$NetBSD: kern_synch.c,v 1.357 2023/07/13 13:33:55 riastradh Exp $	*/
+/*	$NetBSD: kern_synch.c,v 1.358 2023/07/17 12:54:29 riastradh Exp $	*/
 
 /*-
  * Copyright (c) 1999, 2000, 2004, 2006, 2007, 2008, 2009, 2019, 2020
@@ -69,7 +69,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: kern_synch.c,v 1.357 2023/07/13 13:33:55 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: kern_synch.c,v 1.358 2023/07/17 12:54:29 riastradh Exp $");
 
 #include "opt_kstack.h"
 #include "opt_ddb.h"
@@ -113,6 +113,7 @@ static void	sched_changepri(struct lwp *
 static void	sched_lendpri(struct lwp *, pri_t);
 
 syncobj_t sleep_syncobj = {
+	.sobj_name	= "sleep",
 	.sobj_flag	= SOBJ_SLEEPQ_SORTED,
 	.sobj_unsleep	= sleepq_unsleep,
 	.sobj_changepri	= sleepq_changepri,
@@ -121,6 +122,7 @@ syncobj_t sleep_syncobj = {
 };
 
 syncobj_t sched_syncobj = {
+	.sobj_name	= "sched",
 	.sobj_flag	= SOBJ_SLEEPQ_SORTED,
 	.sobj_unsleep	= sched_unsleep,
 	.sobj_changepri	= sched_changepri,
@@ -129,6 +131,7 @@ syncobj_t sched_syncobj = {
 };
 
 syncobj_t kpause_syncobj = {
+	.sobj_name	= "kpause",
 	.sobj_flag	= SOBJ_SLEEPQ_NULL,
 	.sobj_unsleep	= sleepq_unsleep,
 	.sobj_changepri	= sleepq_changepri,

Index: src/sys/kern/sys_lwp.c
diff -u src/sys/kern/sys_lwp.c:1.83 src/sys/kern/sys_lwp.c:1.84
--- src/sys/kern/sys_lwp.c:1.83	Wed Jun 29 22:27:01 2022
+++ src/sys/kern/sys_lwp.c	Mon Jul 17 12:54:29 2023
@@ -1,4 +1,4 @@
-/*	$NetBSD: sys_lwp.c,v 1.83 2022/06/29 22:27:01 riastradh Exp $	*/
+/*	$NetBSD: sys_lwp.c,v 1.84 2023/07/17 12:54:29 riastradh Exp $	*/
 
 /*-
  * Copyright (c) 2001, 2006, 2007, 2008, 2019, 2020 The NetBSD Foundation, Inc.
@@ -35,7 +35,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: sys_lwp.c,v 1.83 2022/06/29 22:27:01 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: sys_lwp.c,v 1.84 2023/07/17 12:54:29 riastradh Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -58,6 +58,7 @@ __KERNEL_RCSID(0, "$NetBSD: sys_lwp.c,v 
 static const stack_t lwp_ss_init = SS_INIT;
 
 syncobj_t lwp_park_syncobj = {
+	.sobj_name	= "lwp_park",
 	.sobj_flag	= SOBJ_SLEEPQ_NULL,
 	.sobj_unsleep	= sleepq_unsleep,
 	.sobj_changepri	= sleepq_changepri,

Index: src/sys/kern/sys_select.c
diff -u src/sys/kern/sys_select.c:1.60 src/sys/kern/sys_select.c:1.61
--- src/sys/kern/sys_select.c:1.60	Wed Jun 29 22:27:01 2022
+++ src/sys/kern/sys_select.c	Mon Jul 17 12:54:29 2023
@@ -1,4 +1,4 @@
-/*	$NetBSD: sys_select.c,v 1.60 2022/06/29 22:27:01 riastradh Exp $	*/
+/*	$NetBSD: sys_select.c,v 1.61 2023/07/17 12:54:29 riastradh Exp $	*/
 
 /*-
  * Copyright (c) 2007, 2008, 2009, 2010, 2019, 2020 The NetBSD Foundation, Inc.
@@ -84,7 +84,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: sys_select.c,v 1.60 2022/06/29 22:27:01 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: sys_select.c,v 1.61 2023/07/17 12:54:29 riastradh Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -143,6 +143,7 @@ static const int sel_flag[] = {
  * enqueue LWPs at all, unless subject to a collision.
  */
 syncobj_t select_sobj = {
+	.sobj_name	= "select",
 	.sobj_flag	= SOBJ_SLEEPQ_LIFO,
 	.sobj_unsleep	= sleepq_unsleep,
 	.sobj_changepri	= sleepq_changepri,

Index: src/sys/sys/syncobj.h
diff -u src/sys/sys/syncobj.h:1.13 src/sys/sys/syncobj.h:1.14
--- src/sys/sys/syncobj.h:1.13	Thu Mar 26 21:15:14 2020
+++ src/sys/sys/syncobj.h	Mon Jul 17 12:54:29 2023
@@ -1,4 +1,4 @@
-/*	$NetBSD: syncobj.h,v 1.13 2020/03/26 21:15:14 ad Exp $	*/
+/*	$NetBSD: syncobj.h,v 1.14 2023/07/17 12:54:29 riastradh Exp $	*/
 
 /*-
  * Copyright (c) 2007, 2008, 2020 The NetBSD Foundation, Inc.
@@ -42,6 +42,7 @@ typedef volatile const void *wchan_t;
  * Synchronisation object operations set.
  */
 typedef struct syncobj {
+	char	sobj_name[16];
 	u_int	sobj_flag;
 	void	(*sobj_unsleep)(struct lwp *, bool);
 	void	(*sobj_changepri)(struct lwp *, pri_t);

Reply via email to