• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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;
inc_ramster_flnodes(void)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 }
dec_ramster_flnodes(void)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;
inc_ramster_foreign_eph_pages(void)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 }
dec_ramster_foreign_eph_pages(void)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;
inc_ramster_foreign_pers_pages(void)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 }
dec_ramster_foreign_pers_pages(void)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 
inc_ramster_eph_pages_remoted(void)65 static inline void inc_ramster_eph_pages_remoted(void)
66 {
67 	ramster_eph_pages_remoted++;
68 };
inc_ramster_pers_pages_remoted(void)69 static inline void inc_ramster_pers_pages_remoted(void)
70 {
71 	ramster_pers_pages_remoted++;
72 };
inc_ramster_eph_pages_remote_failed(void)73 static inline void inc_ramster_eph_pages_remote_failed(void)
74 {
75 	ramster_eph_pages_remote_failed++;
76 };
inc_ramster_pers_pages_remote_failed(void)77 static inline void inc_ramster_pers_pages_remote_failed(void)
78 {
79 	ramster_pers_pages_remote_failed++;
80 };
inc_ramster_remote_eph_pages_succ_get(void)81 static inline void inc_ramster_remote_eph_pages_succ_get(void)
82 {
83 	ramster_remote_eph_pages_succ_get++;
84 };
inc_ramster_remote_pers_pages_succ_get(void)85 static inline void inc_ramster_remote_pers_pages_succ_get(void)
86 {
87 	ramster_remote_pers_pages_succ_get++;
88 };
inc_ramster_remote_eph_pages_unsucc_get(void)89 static inline void inc_ramster_remote_eph_pages_unsucc_get(void)
90 {
91 	ramster_remote_eph_pages_unsucc_get++;
92 };
inc_ramster_remote_pers_pages_unsucc_get(void)93 static inline void inc_ramster_remote_pers_pages_unsucc_get(void)
94 {
95 	ramster_remote_pers_pages_unsucc_get++;
96 };
inc_ramster_pers_pages_remote_nomem(void)97 static inline void inc_ramster_pers_pages_remote_nomem(void)
98 {
99 	ramster_pers_pages_remote_nomem++;
100 };
inc_ramster_remote_objects_flushed(void)101 static inline void inc_ramster_remote_objects_flushed(void)
102 {
103 	ramster_remote_objects_flushed++;
104 };
inc_ramster_remote_object_flushes_failed(void)105 static inline void inc_ramster_remote_object_flushes_failed(void)
106 {
107 	ramster_remote_object_flushes_failed++;
108 };
inc_ramster_remote_pages_flushed(void)109 static inline void inc_ramster_remote_pages_flushed(void)
110 {
111 	ramster_remote_pages_flushed++;
112 };
inc_ramster_remote_page_flushes_failed(void)113 static inline void inc_ramster_remote_page_flushes_failed(void)
114 {
115 	ramster_remote_page_flushes_failed++;
116 };
117 
118 #else
119 
inc_ramster_flnodes(void)120 static inline void inc_ramster_flnodes(void) { };
dec_ramster_flnodes(void)121 static inline void dec_ramster_flnodes(void) { };
inc_ramster_foreign_eph_pages(void)122 static inline void inc_ramster_foreign_eph_pages(void) { };
dec_ramster_foreign_eph_pages(void)123 static inline void dec_ramster_foreign_eph_pages(void) { };
inc_ramster_foreign_pers_pages(void)124 static inline void inc_ramster_foreign_pers_pages(void) { };
dec_ramster_foreign_pers_pages(void)125 static inline void dec_ramster_foreign_pers_pages(void) { };
126 
inc_ramster_eph_pages_remoted(void)127 static inline void inc_ramster_eph_pages_remoted(void) { };
inc_ramster_pers_pages_remoted(void)128 static inline void inc_ramster_pers_pages_remoted(void) { };
inc_ramster_eph_pages_remote_failed(void)129 static inline void inc_ramster_eph_pages_remote_failed(void) { };
inc_ramster_pers_pages_remote_failed(void)130 static inline void inc_ramster_pers_pages_remote_failed(void) { };
inc_ramster_remote_eph_pages_succ_get(void)131 static inline void inc_ramster_remote_eph_pages_succ_get(void) { };
inc_ramster_remote_pers_pages_succ_get(void)132 static inline void inc_ramster_remote_pers_pages_succ_get(void) { };
inc_ramster_remote_eph_pages_unsucc_get(void)133 static inline void inc_ramster_remote_eph_pages_unsucc_get(void) { };
inc_ramster_remote_pers_pages_unsucc_get(void)134 static inline void inc_ramster_remote_pers_pages_unsucc_get(void) { };
inc_ramster_pers_pages_remote_nomem(void)135 static inline void inc_ramster_pers_pages_remote_nomem(void) { };
inc_ramster_remote_objects_flushed(void)136 static inline void inc_ramster_remote_objects_flushed(void) { };
inc_ramster_remote_object_flushes_failed(void)137 static inline void inc_ramster_remote_object_flushes_failed(void) { };
inc_ramster_remote_pages_flushed(void)138 static inline void inc_ramster_remote_pages_flushed(void) { };
inc_ramster_remote_page_flushes_failed(void)139 static inline void inc_ramster_remote_page_flushes_failed(void) { };
140 
ramster_debugfs_init(void)141 static inline int ramster_debugfs_init(void)
142 {
143 	return 0;
144 }
145 #endif
146