staging: zcache/debug: fix coding style
[deliverable/linux.git] / drivers / staging / zcache / debug.h
CommitLineData
7791c623
KRW
1#include <linux/bug.h>
2
95bdaee2
KRW
3#ifdef CONFIG_ZCACHE_DEBUG
4
5/* we try to keep these statistics SMP-consistent */
90874fc2 6extern ssize_t zcache_obj_count;
95bdaee2 7static atomic_t zcache_obj_atomic = ATOMIC_INIT(0);
90874fc2 8extern ssize_t zcache_obj_count_max;
95bdaee2
KRW
9static inline void inc_zcache_obj_count(void)
10{
11 zcache_obj_count = atomic_inc_return(&zcache_obj_atomic);
12 if (zcache_obj_count > zcache_obj_count_max)
13 zcache_obj_count_max = zcache_obj_count;
14}
15static inline void dec_zcache_obj_count(void)
16{
17 zcache_obj_count = atomic_dec_return(&zcache_obj_atomic);
18 BUG_ON(zcache_obj_count < 0);
19};
90874fc2 20extern ssize_t zcache_objnode_count;
95bdaee2 21static atomic_t zcache_objnode_atomic = ATOMIC_INIT(0);
90874fc2 22extern ssize_t zcache_objnode_count_max;
95bdaee2
KRW
23static inline void inc_zcache_objnode_count(void)
24{
25 zcache_objnode_count = atomic_inc_return(&zcache_objnode_atomic);
26 if (zcache_objnode_count > zcache_objnode_count_max)
27 zcache_objnode_count_max = zcache_objnode_count;
28};
29static inline void dec_zcache_objnode_count(void)
30{
31 zcache_objnode_count = atomic_dec_return(&zcache_objnode_atomic);
32 BUG_ON(zcache_objnode_count < 0);
33};
90874fc2 34extern u64 zcache_eph_zbytes;
95bdaee2 35static atomic_long_t zcache_eph_zbytes_atomic = ATOMIC_INIT(0);
90874fc2 36extern u64 zcache_eph_zbytes_max;
95bdaee2
KRW
37static inline void inc_zcache_eph_zbytes(unsigned clen)
38{
39 zcache_eph_zbytes = atomic_long_add_return(clen, &zcache_eph_zbytes_atomic);
40 if (zcache_eph_zbytes > zcache_eph_zbytes_max)
41 zcache_eph_zbytes_max = zcache_eph_zbytes;
42};
43static inline void dec_zcache_eph_zbytes(unsigned zsize)
44{
45 zcache_eph_zbytes = atomic_long_sub_return(zsize, &zcache_eph_zbytes_atomic);
46};
47extern u64 zcache_pers_zbytes;
48static atomic_long_t zcache_pers_zbytes_atomic = ATOMIC_INIT(0);
90874fc2 49extern u64 zcache_pers_zbytes_max;
95bdaee2
KRW
50static inline void inc_zcache_pers_zbytes(unsigned clen)
51{
52 zcache_pers_zbytes = atomic_long_add_return(clen, &zcache_pers_zbytes_atomic);
53 if (zcache_pers_zbytes > zcache_pers_zbytes_max)
54 zcache_pers_zbytes_max = zcache_pers_zbytes;
55}
56static inline void dec_zcache_pers_zbytes(unsigned zsize)
57{
58 zcache_pers_zbytes = atomic_long_sub_return(zsize, &zcache_pers_zbytes_atomic);
59}
60extern ssize_t zcache_eph_pageframes;
61static atomic_t zcache_eph_pageframes_atomic = ATOMIC_INIT(0);
90874fc2 62extern ssize_t zcache_eph_pageframes_max;
95bdaee2
KRW
63static inline void inc_zcache_eph_pageframes(void)
64{
65 zcache_eph_pageframes = atomic_inc_return(&zcache_eph_pageframes_atomic);
66 if (zcache_eph_pageframes > zcache_eph_pageframes_max)
67 zcache_eph_pageframes_max = zcache_eph_pageframes;
68};
69static inline void dec_zcache_eph_pageframes(void)
70{
71 zcache_eph_pageframes = atomic_dec_return(&zcache_eph_pageframes_atomic);
72};
73extern ssize_t zcache_pers_pageframes;
74static atomic_t zcache_pers_pageframes_atomic = ATOMIC_INIT(0);
90874fc2 75extern ssize_t zcache_pers_pageframes_max;
95bdaee2
KRW
76static inline void inc_zcache_pers_pageframes(void)
77{
78 zcache_pers_pageframes = atomic_inc_return(&zcache_pers_pageframes_atomic);
79 if (zcache_pers_pageframes > zcache_pers_pageframes_max)
80 zcache_pers_pageframes_max = zcache_pers_pageframes;
81}
82static inline void dec_zcache_pers_pageframes(void)
83{
84 zcache_pers_pageframes = atomic_dec_return(&zcache_pers_pageframes_atomic);
85}
90874fc2 86extern ssize_t zcache_pageframes_alloced;
95bdaee2
KRW
87static atomic_t zcache_pageframes_alloced_atomic = ATOMIC_INIT(0);
88static inline void inc_zcache_pageframes_alloced(void)
89{
90 zcache_pageframes_alloced = atomic_inc_return(&zcache_pageframes_alloced_atomic);
91};
90874fc2 92extern ssize_t zcache_pageframes_freed;
95bdaee2
KRW
93static atomic_t zcache_pageframes_freed_atomic = ATOMIC_INIT(0);
94static inline void inc_zcache_pageframes_freed(void)
95{
96 zcache_pageframes_freed = atomic_inc_return(&zcache_pageframes_freed_atomic);
97}
90874fc2 98extern ssize_t zcache_eph_zpages;
95bdaee2 99static atomic_t zcache_eph_zpages_atomic = ATOMIC_INIT(0);
90874fc2 100extern ssize_t zcache_eph_zpages_max;
95bdaee2
KRW
101static inline void inc_zcache_eph_zpages(void)
102{
103 zcache_eph_zpages = atomic_inc_return(&zcache_eph_zpages_atomic);
104 if (zcache_eph_zpages > zcache_eph_zpages_max)
105 zcache_eph_zpages_max = zcache_eph_zpages;
106}
107static inline void dec_zcache_eph_zpages(unsigned zpages)
108{
109 zcache_eph_zpages = atomic_sub_return(zpages, &zcache_eph_zpages_atomic);
110}
111extern ssize_t zcache_pers_zpages;
112static atomic_t zcache_pers_zpages_atomic = ATOMIC_INIT(0);
90874fc2 113extern ssize_t zcache_pers_zpages_max;
95bdaee2
KRW
114static inline void inc_zcache_pers_zpages(void)
115{
116 zcache_pers_zpages = atomic_inc_return(&zcache_pers_zpages_atomic);
117 if (zcache_pers_zpages > zcache_pers_zpages_max)
118 zcache_pers_zpages_max = zcache_pers_zpages;
119}
120static inline void dec_zcache_pers_zpages(unsigned zpages)
121{
122 zcache_pers_zpages = atomic_sub_return(zpages, &zcache_pers_zpages_atomic);
123}
124
834e3a1c
WL
125extern ssize_t zcache_zero_filled_pages;
126static atomic_t zcache_zero_filled_pages_atomic = ATOMIC_INIT(0);
127extern ssize_t zcache_zero_filled_pages_max;
128static inline void inc_zcache_zero_filled_pages(void)
129{
130 zcache_zero_filled_pages = atomic_inc_return(
131 &zcache_zero_filled_pages_atomic);
132 if (zcache_zero_filled_pages > zcache_zero_filled_pages_max)
133 zcache_zero_filled_pages_max = zcache_zero_filled_pages;
134}
135static inline void dec_zcache_zero_filled_pages(void)
136{
137 zcache_zero_filled_pages = atomic_dec_return(
138 &zcache_zero_filled_pages_atomic);
139}
95bdaee2
KRW
140static inline unsigned long curr_pageframes_count(void)
141{
142 return zcache_pageframes_alloced -
143 atomic_read(&zcache_pageframes_freed_atomic) -
144 atomic_read(&zcache_eph_pageframes_atomic) -
145 atomic_read(&zcache_pers_pageframes_atomic);
146};
147/* but for the rest of these, counting races are ok */
90874fc2
WL
148extern ssize_t zcache_flush_total;
149extern ssize_t zcache_flush_found;
150extern ssize_t zcache_flobj_total;
151extern ssize_t zcache_flobj_found;
152extern ssize_t zcache_failed_eph_puts;
153extern ssize_t zcache_failed_pers_puts;
154extern ssize_t zcache_failed_getfreepages;
155extern ssize_t zcache_failed_alloc;
156extern ssize_t zcache_put_to_flush;
157extern ssize_t zcache_compress_poor;
158extern ssize_t zcache_mean_compress_poor;
159extern ssize_t zcache_eph_ate_tail;
160extern ssize_t zcache_eph_ate_tail_failed;
161extern ssize_t zcache_pers_ate_eph;
162extern ssize_t zcache_pers_ate_eph_failed;
163extern ssize_t zcache_evicted_eph_zpages;
164extern ssize_t zcache_evicted_eph_pageframes;
86d7de66 165
95bdaee2
KRW
166extern ssize_t zcache_last_active_file_pageframes;
167extern ssize_t zcache_last_inactive_file_pageframes;
168extern ssize_t zcache_last_active_anon_pageframes;
169extern ssize_t zcache_last_inactive_anon_pageframes;
86d7de66
KRW
170static ssize_t zcache_eph_nonactive_puts_ignored;
171static ssize_t zcache_pers_nonactive_puts_ignored;
95bdaee2
KRW
172#ifdef CONFIG_ZCACHE_WRITEBACK
173extern ssize_t zcache_writtenback_pages;
174extern ssize_t zcache_outstanding_writeback_pages;
175#endif
176
c0e03084
WL
177static inline void inc_zcache_flush_total(void)
178{
179 zcache_flush_total++;
180};
181static inline void inc_zcache_flush_found(void)
182{
183 zcache_flush_found++;
184};
185static inline void inc_zcache_flobj_total(void)
186{
187 zcache_flobj_total++;
188};
189static inline void inc_zcache_flobj_found(void)
190{
191 zcache_flobj_found++;
192};
193static inline void inc_zcache_failed_eph_puts(void)
194{
195 zcache_failed_eph_puts++;
196};
197static inline void inc_zcache_failed_pers_puts(void)
198{
199 zcache_failed_pers_puts++;
200};
201static inline void inc_zcache_failed_getfreepages(void)
202{
203 zcache_failed_getfreepages++;
204};
205static inline void inc_zcache_failed_alloc(void)
206{
207 zcache_failed_alloc++;
208};
209static inline void inc_zcache_put_to_flush(void)
210{
211 zcache_put_to_flush++;
212};
213static inline void inc_zcache_compress_poor(void)
214{
215 zcache_compress_poor++;
216};
217static inline void inc_zcache_mean_compress_poor(void)
218{
219 zcache_mean_compress_poor++;
220};
221static inline void inc_zcache_eph_ate_tail(void)
222{
223 zcache_eph_ate_tail++;
224};
225static inline void inc_zcache_eph_ate_tail_failed(void)
226{
227 zcache_eph_ate_tail_failed++;
228};
229static inline void inc_zcache_pers_ate_eph(void)
230{
231 zcache_pers_ate_eph++;
232};
233static inline void inc_zcache_pers_ate_eph_failed(void)
234{
235 zcache_pers_ate_eph_failed++;
236};
237static inline void inc_zcache_evicted_eph_zpages(unsigned zpages)
238{
239 zcache_evicted_eph_zpages += zpages;
240};
241static inline void inc_zcache_evicted_eph_pageframes(void)
242{
243 zcache_evicted_eph_pageframes++;
244};
86d7de66 245
c0e03084
WL
246static inline void inc_zcache_eph_nonactive_puts_ignored(void)
247{
248 zcache_eph_nonactive_puts_ignored++;
249};
250static inline void inc_zcache_pers_nonactive_puts_ignored(void)
251{
252 zcache_pers_nonactive_puts_ignored++;
253};
86d7de66 254
95bdaee2
KRW
255int zcache_debugfs_init(void);
256#else
257static inline void inc_zcache_obj_count(void) { };
258static inline void dec_zcache_obj_count(void) { };
259static inline void inc_zcache_objnode_count(void) { };
260static inline void dec_zcache_objnode_count(void) { };
261static inline void inc_zcache_eph_zbytes(unsigned clen) { };
262static inline void dec_zcache_eph_zbytes(unsigned zsize) { };
263static inline void inc_zcache_pers_zbytes(unsigned clen) { };
264static inline void dec_zcache_pers_zbytes(unsigned zsize) { };
265static inline void inc_zcache_eph_pageframes(void) { };
266static inline void dec_zcache_eph_pageframes(void) { };
267static inline void inc_zcache_pers_pageframes(void) { };
268static inline void dec_zcache_pers_pageframes(void) { };
269static inline void inc_zcache_pageframes_alloced(void) { };
270static inline void inc_zcache_pageframes_freed(void) { };
271static inline void inc_zcache_eph_zpages(void) { };
272static inline void dec_zcache_eph_zpages(unsigned zpages) { };
273static inline void inc_zcache_pers_zpages(void) { };
274static inline void dec_zcache_pers_zpages(unsigned zpages) { };
834e3a1c
WL
275static inline void inc_zcache_zero_filled_pages(void) { };
276static inline void dec_zcache_zero_filled_pages(void) { };
95bdaee2
KRW
277static inline unsigned long curr_pageframes_count(void)
278{
279 return 0;
280};
281static inline int zcache_debugfs_init(void)
282{
283 return 0;
284};
86d7de66
KRW
285static inline void inc_zcache_flush_total(void) { };
286static inline void inc_zcache_flush_found(void) { };
287static inline void inc_zcache_flobj_total(void) { };
288static inline void inc_zcache_flobj_found(void) { };
289static inline void inc_zcache_failed_eph_puts(void) { };
290static inline void inc_zcache_failed_pers_puts(void) { };
291static inline void inc_zcache_failed_getfreepages(void) { };
292static inline void inc_zcache_failed_alloc(void) { };
293static inline void inc_zcache_put_to_flush(void) { };
294static inline void inc_zcache_compress_poor(void) { };
295static inline void inc_zcache_mean_compress_poor(void) { };
296static inline void inc_zcache_eph_ate_tail(void) { };
297static inline void inc_zcache_eph_ate_tail_failed(void) { };
298static inline void inc_zcache_pers_ate_eph(void) { };
299static inline void inc_zcache_pers_ate_eph_failed(void) { };
300static inline void inc_zcache_evicted_eph_zpages(unsigned zpages) { };
301static inline void inc_zcache_evicted_eph_pageframes(void) { };
302
303static inline void inc_zcache_eph_nonactive_puts_ignored(void) { };
304static inline void inc_zcache_pers_nonactive_puts_ignored(void) { };
95bdaee2 305#endif
This page took 0.071321 seconds and 5 git commands to generate.