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 <[email protected]>
*
@@ -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 <[email protected]>
@@ -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 <[email protected]>
@@ -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 */