]> git.proxmox.com Git - mirror_ubuntu-zesty-kernel.git/blob - include/linux/sunrpc/debug.h
Merge tag 'kvm-3.7-2' of git://git.kernel.org/pub/scm/virt/kvm/kvm
[mirror_ubuntu-zesty-kernel.git] / include / linux / sunrpc / debug.h
1 /*
2 * linux/include/linux/sunrpc/debug.h
3 *
4 * Debugging support for sunrpc module
5 *
6 * Copyright (C) 1996, Olaf Kirch <okir@monad.swb.de>
7 */
8 #ifndef _LINUX_SUNRPC_DEBUG_H_
9 #define _LINUX_SUNRPC_DEBUG_H_
10
11 #include <uapi/linux/sunrpc/debug.h>
12
13
14 /*
15 * Enable RPC debugging/profiling.
16 */
17 #ifdef CONFIG_SUNRPC_DEBUG
18 #define RPC_DEBUG
19 #endif
20 #ifdef CONFIG_TRACEPOINTS
21 #define RPC_TRACEPOINTS
22 #endif
23 /* #define RPC_PROFILE */
24
25 /*
26 * Debugging macros etc
27 */
28 #ifdef RPC_DEBUG
29 extern unsigned int rpc_debug;
30 extern unsigned int nfs_debug;
31 extern unsigned int nfsd_debug;
32 extern unsigned int nlm_debug;
33 #endif
34
35 #define dprintk(args...) dfprintk(FACILITY, ## args)
36 #define dprintk_rcu(args...) dfprintk_rcu(FACILITY, ## args)
37
38 #undef ifdebug
39 #ifdef RPC_DEBUG
40 # define ifdebug(fac) if (unlikely(rpc_debug & RPCDBG_##fac))
41
42 # define dfprintk(fac, args...) \
43 do { \
44 ifdebug(fac) \
45 printk(KERN_DEFAULT args); \
46 } while (0)
47
48 # define dfprintk_rcu(fac, args...) \
49 do { \
50 ifdebug(fac) { \
51 rcu_read_lock(); \
52 printk(KERN_DEFAULT args); \
53 rcu_read_unlock(); \
54 } \
55 } while (0)
56
57 # define RPC_IFDEBUG(x) x
58 #else
59 # define ifdebug(fac) if (0)
60 # define dfprintk(fac, args...) do {} while (0)
61 # define dfprintk_rcu(fac, args...) do {} while (0)
62 # define RPC_IFDEBUG(x)
63 #endif
64
65 /*
66 * Sysctl interface for RPC debugging
67 */
68 #ifdef RPC_DEBUG
69 void rpc_register_sysctl(void);
70 void rpc_unregister_sysctl(void);
71 #endif
72
73 #endif /* _LINUX_SUNRPC_DEBUG_H_ */