Linux kernel mirror (for testing)
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel
os
linux
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
29extern unsigned int rpc_debug;
30extern unsigned int nfs_debug;
31extern unsigned int nfsd_debug;
32extern 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
69void rpc_register_sysctl(void);
70void rpc_unregister_sysctl(void);
71#endif
72
73#endif /* _LINUX_SUNRPC_DEBUG_H_ */