Merge tag 'rpmsg-3.10' of git://git.kernel.org/pub/scm/linux/kernel/git/ohad/rpmsg
[linux-block.git] / drivers / staging / zcache / ramster / debug.h
1 #include <linux/bug.h>
2
3 #ifdef CONFIG_RAMSTER_DEBUG
4
5 extern long ramster_flnodes;
6 static atomic_t ramster_flnodes_atomic = ATOMIC_INIT(0);
7 static unsigned long ramster_flnodes_max;
8 static inline void inc_ramster_flnodes(void)
9 {
10         ramster_flnodes = atomic_inc_return(&ramster_flnodes_atomic);
11         if (ramster_flnodes > ramster_flnodes_max)
12                 ramster_flnodes_max = ramster_flnodes;
13 }
14 static inline void dec_ramster_flnodes(void)
15 {
16         ramster_flnodes = atomic_dec_return(&ramster_flnodes_atomic);
17 }
18 extern ssize_t ramster_foreign_eph_pages;
19 static atomic_t ramster_foreign_eph_pages_atomic = ATOMIC_INIT(0);
20 static ssize_t ramster_foreign_eph_pages_max;
21 static inline void inc_ramster_foreign_eph_pages(void)
22 {
23         ramster_foreign_eph_pages = atomic_inc_return(
24                 &ramster_foreign_eph_pages_atomic);
25         if (ramster_foreign_eph_pages > ramster_foreign_eph_pages_max)
26                 ramster_foreign_eph_pages_max = ramster_foreign_eph_pages;
27 }
28 static inline void dec_ramster_foreign_eph_pages(void)
29 {
30         ramster_foreign_eph_pages = atomic_dec_return(
31                 &ramster_foreign_eph_pages_atomic);
32 }
33 extern ssize_t ramster_foreign_pers_pages;
34 static atomic_t ramster_foreign_pers_pages_atomic = ATOMIC_INIT(0);
35 static ssize_t ramster_foreign_pers_pages_max;
36 static inline void inc_ramster_foreign_pers_pages(void)
37 {
38         ramster_foreign_pers_pages = atomic_inc_return(
39                 &ramster_foreign_pers_pages_atomic);
40         if (ramster_foreign_pers_pages > ramster_foreign_pers_pages_max)
41                 ramster_foreign_pers_pages_max = ramster_foreign_pers_pages;
42 }
43 static inline void dec_ramster_foreign_pers_pages(void)
44 {
45         ramster_foreign_pers_pages = atomic_dec_return(
46                 &ramster_foreign_pers_pages_atomic);
47 }
48
49 extern ssize_t ramster_eph_pages_remoted;
50 extern ssize_t ramster_pers_pages_remoted;
51 extern ssize_t ramster_eph_pages_remote_failed;
52 extern ssize_t ramster_pers_pages_remote_failed;
53 extern ssize_t ramster_remote_eph_pages_succ_get;
54 extern ssize_t ramster_remote_pers_pages_succ_get;
55 extern ssize_t ramster_remote_eph_pages_unsucc_get;
56 extern ssize_t ramster_remote_pers_pages_unsucc_get;
57 extern ssize_t ramster_pers_pages_remote_nomem;
58 extern ssize_t ramster_remote_objects_flushed;
59 extern ssize_t ramster_remote_object_flushes_failed;
60 extern ssize_t ramster_remote_pages_flushed;
61 extern ssize_t ramster_remote_page_flushes_failed;
62
63 int ramster_debugfs_init(void);
64
65 static inline void inc_ramster_eph_pages_remoted(void)
66 {
67         ramster_eph_pages_remoted++;
68 };
69 static inline void inc_ramster_pers_pages_remoted(void)
70 {
71         ramster_pers_pages_remoted++;
72 };
73 static inline void inc_ramster_eph_pages_remote_failed(void)
74 {
75         ramster_eph_pages_remote_failed++;
76 };
77 static inline void inc_ramster_pers_pages_remote_failed(void)
78 {
79         ramster_pers_pages_remote_failed++;
80 };
81 static inline void inc_ramster_remote_eph_pages_succ_get(void)
82 {
83         ramster_remote_eph_pages_succ_get++;
84 };
85 static inline void inc_ramster_remote_pers_pages_succ_get(void)
86 {
87         ramster_remote_pers_pages_succ_get++;
88 };
89 static inline void inc_ramster_remote_eph_pages_unsucc_get(void)
90 {
91         ramster_remote_eph_pages_unsucc_get++;
92 };
93 static inline void inc_ramster_remote_pers_pages_unsucc_get(void)
94 {
95         ramster_remote_pers_pages_unsucc_get++;
96 };
97 static inline void inc_ramster_pers_pages_remote_nomem(void)
98 {
99         ramster_pers_pages_remote_nomem++;
100 };
101 static inline void inc_ramster_remote_objects_flushed(void)
102 {
103         ramster_remote_objects_flushed++;
104 };
105 static inline void inc_ramster_remote_object_flushes_failed(void)
106 {
107         ramster_remote_object_flushes_failed++;
108 };
109 static inline void inc_ramster_remote_pages_flushed(void)
110 {
111         ramster_remote_pages_flushed++;
112 };
113 static inline void inc_ramster_remote_page_flushes_failed(void)
114 {
115         ramster_remote_page_flushes_failed++;
116 };
117
118 #else
119
120 static inline void inc_ramster_flnodes(void) { };
121 static inline void dec_ramster_flnodes(void) { };
122 static inline void inc_ramster_foreign_eph_pages(void) { };
123 static inline void dec_ramster_foreign_eph_pages(void) { };
124 static inline void inc_ramster_foreign_pers_pages(void) { };
125 static inline void dec_ramster_foreign_pers_pages(void) { };
126
127 static inline void inc_ramster_eph_pages_remoted(void) { };
128 static inline void inc_ramster_pers_pages_remoted(void) { };
129 static inline void inc_ramster_eph_pages_remote_failed(void) { };
130 static inline void inc_ramster_pers_pages_remote_failed(void) { };
131 static inline void inc_ramster_remote_eph_pages_succ_get(void) { };
132 static inline void inc_ramster_remote_pers_pages_succ_get(void) { };
133 static inline void inc_ramster_remote_eph_pages_unsucc_get(void) { };
134 static inline void inc_ramster_remote_pers_pages_unsucc_get(void) { };
135 static inline void inc_ramster_pers_pages_remote_nomem(void) { };
136 static inline void inc_ramster_remote_objects_flushed(void) { };
137 static inline void inc_ramster_remote_object_flushes_failed(void) { };
138 static inline void inc_ramster_remote_pages_flushed(void) { };
139 static inline void inc_ramster_remote_page_flushes_failed(void) { };
140
141 static inline int ramster_debugfs_init(void)
142 {
143         return 0;
144 }
145 #endif