54366c0bd7
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
45 lines
948 B
Makefile
45 lines
948 B
Makefile
# $FreeBSD$
|
|
|
|
.PATH: ${.CURDIR}/../../nfsclient ${.CURDIR}/../../nfs ${.CURDIR}/../../rpc
|
|
|
|
KMOD= nfsclient
|
|
SRCS= vnode_if.h \
|
|
nfs_bio.c nfs_node.c nfs_subs.c nfs_nfsiod.c \
|
|
nfs_vfsops.c nfs_vnops.c nfs_krpc.c \
|
|
opt_inet.h opt_nfs.h opt_bootp.h opt_nfsroot.h
|
|
SRCS+= opt_inet6.h opt_kgssapi.h
|
|
|
|
.if !defined(KERNBUILDDIR)
|
|
NFS_INET?= 1 # 0/1 - requires INET to be configured in kernel
|
|
NFS_INET6?= 1 # 0/1 - requires INET6 to be configured in kernel
|
|
NFS_ROOT?= 1 # 0/1 - requires NFS_ROOT to be configured in kernel
|
|
|
|
.if ${NFS_INET} > 0
|
|
opt_inet.h:
|
|
echo "#define INET 1" > ${.TARGET}
|
|
.endif
|
|
|
|
.if ${NFS_INET6} > 0
|
|
opt_inet6.h:
|
|
echo "#define INET6 1" > ${.TARGET}
|
|
.endif
|
|
|
|
.if ${NFS_ROOT} > 0
|
|
opt_nfsroot.h:
|
|
echo "#define NFS_ROOT 1" > ${.TARGET}
|
|
.endif
|
|
.else
|
|
OPT_NFS_ROOT!= cat ${KERNBUILDDIR}/opt_nfsroot.h
|
|
.if empty(OPT_NFS_ROOT)
|
|
NFS_ROOT= 0
|
|
.else
|
|
NFS_ROOT= 1
|
|
.endif
|
|
.endif
|
|
|
|
.if ${NFS_ROOT} > 0
|
|
SRCS+= nfs_diskless.c
|
|
.endif
|
|
|
|
.include <bsd.kmod.mk>
|