summaryrefslogtreecommitdiffstats
path: root/sys/nfsclient
diff options
context:
space:
mode:
authorattilio <attilio@FreeBSD.org>2013-11-25 07:38:45 +0000
committerattilio <attilio@FreeBSD.org>2013-11-25 07:38:45 +0000
commit7ee4e910ced4b311b0194fe11c664f0c6bde3bd8 (patch)
treee29b308276ced8b2028470c376a2a34193dc6c3c /sys/nfsclient
parent150d294dbc6b55504998d6f99781473171415f7f (diff)
downloadFreeBSD-src-7ee4e910ced4b311b0194fe11c664f0c6bde3bd8.zip
FreeBSD-src-7ee4e910ced4b311b0194fe11c664f0c6bde3bd8.tar.gz
- 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
Diffstat (limited to 'sys/nfsclient')
-rw-r--r--sys/nfsclient/nfs_bio.c2
-rw-r--r--sys/nfsclient/nfs_krpc.c1
-rw-r--r--sys/nfsclient/nfs_subs.c2
-rw-r--r--sys/nfsclient/nfs_vnops.c1
4 files changed, 0 insertions, 6 deletions
diff --git a/sys/nfsclient/nfs_bio.c b/sys/nfsclient/nfs_bio.c
index 630a7ff..1f07b46 100644
--- a/sys/nfsclient/nfs_bio.c
+++ b/sys/nfsclient/nfs_bio.c
@@ -35,8 +35,6 @@
#include <sys/cdefs.h>
__FBSDID("$FreeBSD$");
-#include "opt_kdtrace.h"
-
#include <sys/param.h>
#include <sys/systm.h>
#include <sys/bio.h>
diff --git a/sys/nfsclient/nfs_krpc.c b/sys/nfsclient/nfs_krpc.c
index d3082d8..f88e47f 100644
--- a/sys/nfsclient/nfs_krpc.c
+++ b/sys/nfsclient/nfs_krpc.c
@@ -40,7 +40,6 @@ __FBSDID("$FreeBSD$");
*/
#include "opt_inet6.h"
-#include "opt_kdtrace.h"
#include "opt_kgssapi.h"
#include <sys/param.h>
diff --git a/sys/nfsclient/nfs_subs.c b/sys/nfsclient/nfs_subs.c
index 5dfab1c..d4fd5eb 100644
--- a/sys/nfsclient/nfs_subs.c
+++ b/sys/nfsclient/nfs_subs.c
@@ -41,8 +41,6 @@ __FBSDID("$FreeBSD$");
* copy data between mbuf chains and uio lists.
*/
-#include "opt_kdtrace.h"
-
#include <sys/param.h>
#include <sys/systm.h>
#include <sys/kernel.h>
diff --git a/sys/nfsclient/nfs_vnops.c b/sys/nfsclient/nfs_vnops.c
index d703a8a..a841f65 100644
--- a/sys/nfsclient/nfs_vnops.c
+++ b/sys/nfsclient/nfs_vnops.c
@@ -40,7 +40,6 @@ __FBSDID("$FreeBSD$");
*/
#include "opt_inet.h"
-#include "opt_kdtrace.h"
#include <sys/param.h>
#include <sys/kernel.h>
OpenPOWER on IntegriCloud