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 */