diff options
author | Attilio Rao <attilio@FreeBSD.org> | 2013-11-25 07:38:45 +0000 |
---|---|---|
committer | Attilio Rao <attilio@FreeBSD.org> | 2013-11-25 07:38:45 +0000 |
commit | 54366c0bd7d0ea904fb9ab32460c66d57684a7cb (patch) | |
tree | e29b308276ced8b2028470c376a2a34193dc6c3c /sys/netinet6/send.c | |
parent | 7c5b23111c5fd1992047922d4247c4a1ce1bb6c3 (diff) |
- For kernel compiled only with KDTRACE_HOOKS and not any lock debugging
option, unbreak the lock tracing release semantic by embedding
calls to LOCKSTAT_PROFILE_RELEASE_LOCK() direclty in the inlined
version of the releasing functions for mutex, rwlock and sxlock.
Failing to do so skips the lockstat_probe_func invokation for
unlocking.
- As part of the LOCKSTAT support is inlined in mutex operation, for
kernel compiled without lock debugging options, potentially every
consumer must be compiled including opt_kdtrace.h.
Fix this by moving KDTRACE_HOOKS into opt_global.h and remove the
dependency by opt_kdtrace.h for all files, as now only KDTRACE_FRAMES
is linked there and it is only used as a compile-time stub [0].
[0] immediately shows some new bug as DTRACE-derived support for debug
in sfxge is broken and it was never really tested. As it was not
including correctly opt_kdtrace.h before it was never enabled so it
was kept broken for a while. Fix this by using a protection stub,
leaving sfxge driver authors the responsibility for fixing it
appropriately [1].
Sponsored by: EMC / Isilon storage division
Discussed with: rstone
[0] Reported by: rstone
[1] Discussed with: philip
Notes
Notes:
svn path=/head/; revision=258541
Diffstat (limited to 'sys/netinet6/send.c')
-rw-r--r-- | sys/netinet6/send.c | 2 |
1 files changed, 0 insertions, 2 deletions
diff --git a/sys/netinet6/send.c b/sys/netinet6/send.c index aa6ec673fcd5..79748387b662 100644 --- a/sys/netinet6/send.c +++ b/sys/netinet6/send.c @@ -27,8 +27,6 @@ #include <sys/cdefs.h> __FBSDID("$FreeBSD$"); -#include "opt_kdtrace.h" - #include <sys/param.h> #include <sys/kernel.h> #include <sys/mbuf.h> |