Module Name:    src
Committed By:   riastradh
Date:           Sat Jun 29 13:03:02 UTC 2024

Modified Files:
        src/external/cddl/osnet/sys/kern: opensolaris.c
        src/external/cddl/osnet/sys/sys: sdt.h
        src/sys/kern: kern_sdt.c
        src/sys/sys: sdt.h

Log Message:
sys/sdt.h: Define SET_ERROR(err) macro in sys/sdt.h.

err must be an errno(3) EFOO constant.  SET_ERROR(err) yields err,
with a dtrace probe sdt:::set-error(err), so you have a better chance
of finding where EFOO first turned up in some twisty maze of kernel
logic.

Don't limit this to the opensolaris source compat layer -- this will
enable us to use it throughout the regular kernel sources, not just
zfs.

PR kern/58378

XXX kernel revbump -- moves sdt:::set-error probe symbol definition
from solaris.kmod to main netbsd kernel


To generate a diff of this commit:
cvs rdiff -u -r1.4 -r1.5 src/external/cddl/osnet/sys/kern/opensolaris.c
cvs rdiff -u -r1.9 -r1.10 src/external/cddl/osnet/sys/sys/sdt.h
cvs rdiff -u -r1.3 -r1.4 src/sys/kern/kern_sdt.c
cvs rdiff -u -r1.23 -r1.24 src/sys/sys/sdt.h

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

Modified files:

Index: src/external/cddl/osnet/sys/kern/opensolaris.c
diff -u src/external/cddl/osnet/sys/kern/opensolaris.c:1.4 src/external/cddl/osnet/sys/kern/opensolaris.c:1.5
--- src/external/cddl/osnet/sys/kern/opensolaris.c:1.4	Sun Aug  7 23:42:09 2022
+++ src/external/cddl/osnet/sys/kern/opensolaris.c	Sat Jun 29 13:03:02 2024
@@ -1,4 +1,4 @@
-/*	$NetBSD: opensolaris.c,v 1.4 2022/08/07 23:42:09 riastradh Exp $	*/
+/*	$NetBSD: opensolaris.c,v 1.5 2024/06/29 13:03:02 riastradh Exp $	*/
 /*-
  * Copyright 2007 John Birrell <j...@freebsd.org>
  *
@@ -67,5 +67,3 @@ void
 opensolaris_fini(void *dummy)
 {
 }
-
-SDT_PROBE_DEFINE1(sdt, , , set__error, "int");

Index: src/external/cddl/osnet/sys/sys/sdt.h
diff -u src/external/cddl/osnet/sys/sys/sdt.h:1.9 src/external/cddl/osnet/sys/sys/sdt.h:1.10
--- src/external/cddl/osnet/sys/sys/sdt.h:1.9	Sat Jul 30 13:03:05 2022
+++ src/external/cddl/osnet/sys/sys/sdt.h	Sat Jun 29 13:03:02 2024
@@ -1,4 +1,4 @@
-/*	$NetBSD: sdt.h,v 1.9 2022/07/30 13:03:05 riastradh Exp $	*/
+/*	$NetBSD: sdt.h,v 1.10 2024/06/29 13:03:02 riastradh Exp $	*/
 
 /*-
  * Copyright (c) 2007 Pawel Jakub Dawidek <p...@freebsd.org>
@@ -34,15 +34,4 @@
 #include_next <sys/sdt.h>
 #include <sys/dtrace.h>
 
-#ifdef KDTRACE_HOOKS
-SDT_PROBE_DECLARE(sdt, , , set__error);
-
-#define SET_ERROR(err) \
-	((sdt_sdt___set__error->id ? \
-	(*sdt_probe_func)(sdt_sdt___set__error->id, \
-	    (uintptr_t)err, 0, 0, 0, 0) : 0), err)
-#else
-#define SET_ERROR(err) (err)
-#endif
-
 #endif	/* _OPENSOLARIS_SYS_SDT_H_ */

Index: src/sys/kern/kern_sdt.c
diff -u src/sys/kern/kern_sdt.c:1.3 src/sys/kern/kern_sdt.c:1.4
--- src/sys/kern/kern_sdt.c:1.3	Mon Apr  4 03:53:25 2016
+++ src/sys/kern/kern_sdt.c	Sat Jun 29 13:03:02 2024
@@ -1,4 +1,4 @@
-/*	$NetBSD: kern_sdt.c,v 1.3 2016/04/04 03:53:25 knakahara Exp $	*/
+/*	$NetBSD: kern_sdt.c,v 1.4 2024/06/29 13:03:02 riastradh Exp $	*/
 
 /*-
  * Copyright (c) 2010 The NetBSD Foundation, Inc.
@@ -130,3 +130,5 @@ sdt_exit(void)
 
 	sdt_probe_func = sdt_probe_stub;
 }
+
+SDT_PROBE_DEFINE1(sdt, , , set__error, "int");

Index: src/sys/sys/sdt.h
diff -u src/sys/sys/sdt.h:1.23 src/sys/sys/sdt.h:1.24
--- src/sys/sys/sdt.h:1.23	Sat Jun 29 03:01:29 2024
+++ src/sys/sys/sdt.h	Sat Jun 29 13:03:02 2024
@@ -1,4 +1,4 @@
-/*	$NetBSD: sdt.h,v 1.23 2024/06/29 03:01:29 riastradh Exp $	*/
+/*	$NetBSD: sdt.h,v 1.24 2024/06/29 13:03:02 riastradh Exp $	*/
 
 /*-
  * Copyright 2006-2008 John Birrell <j...@freebsd.org>
@@ -500,6 +500,12 @@ SDT_PROVIDER_DECLARE(sdt);
 void sdt_init(void *);
 void sdt_exit(void);
 
+#ifdef KDTRACE_HOOKS
+SDT_PROBE_DECLARE(sdt, , , set__error);
+#define	SET_ERROR(err)	(SDT_PROBE1(sdt, , , set__error,  (err)), (err))
+#else
+#define	SET_ERROR(err)	(err)
+#endif	/* KDTRACE_HOOKS */
 
 #endif /* _KERNEL */
 

Reply via email to