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)8static 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)14static 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)21static 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)28static 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)36static 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)43static 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)65static inline void inc_ramster_eph_pages_remoted(void) 66 { 67 ramster_eph_pages_remoted++; 68 }; inc_ramster_pers_pages_remoted(void)69static inline void inc_ramster_pers_pages_remoted(void) 70 { 71 ramster_pers_pages_remoted++; 72 }; inc_ramster_eph_pages_remote_failed(void)73static inline void inc_ramster_eph_pages_remote_failed(void) 74 { 75 ramster_eph_pages_remote_failed++; 76 }; inc_ramster_pers_pages_remote_failed(void)77static 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)81static 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)85static 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)89static 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)93static 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)97static inline void inc_ramster_pers_pages_remote_nomem(void) 98 { 99 ramster_pers_pages_remote_nomem++; 100 }; inc_ramster_remote_objects_flushed(void)101static inline void inc_ramster_remote_objects_flushed(void) 102 { 103 ramster_remote_objects_flushed++; 104 }; inc_ramster_remote_object_flushes_failed(void)105static inline void inc_ramster_remote_object_flushes_failed(void) 106 { 107 ramster_remote_object_flushes_failed++; 108 }; inc_ramster_remote_pages_flushed(void)109static inline void inc_ramster_remote_pages_flushed(void) 110 { 111 ramster_remote_pages_flushed++; 112 }; inc_ramster_remote_page_flushes_failed(void)113static 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)120static inline void inc_ramster_flnodes(void) { }; dec_ramster_flnodes(void)121static inline void dec_ramster_flnodes(void) { }; inc_ramster_foreign_eph_pages(void)122static inline void inc_ramster_foreign_eph_pages(void) { }; dec_ramster_foreign_eph_pages(void)123static inline void dec_ramster_foreign_eph_pages(void) { }; inc_ramster_foreign_pers_pages(void)124static inline void inc_ramster_foreign_pers_pages(void) { }; dec_ramster_foreign_pers_pages(void)125static inline void dec_ramster_foreign_pers_pages(void) { }; 126 inc_ramster_eph_pages_remoted(void)127static inline void inc_ramster_eph_pages_remoted(void) { }; inc_ramster_pers_pages_remoted(void)128static inline void inc_ramster_pers_pages_remoted(void) { }; inc_ramster_eph_pages_remote_failed(void)129static inline void inc_ramster_eph_pages_remote_failed(void) { }; inc_ramster_pers_pages_remote_failed(void)130static inline void inc_ramster_pers_pages_remote_failed(void) { }; inc_ramster_remote_eph_pages_succ_get(void)131static inline void inc_ramster_remote_eph_pages_succ_get(void) { }; inc_ramster_remote_pers_pages_succ_get(void)132static inline void inc_ramster_remote_pers_pages_succ_get(void) { }; inc_ramster_remote_eph_pages_unsucc_get(void)133static inline void inc_ramster_remote_eph_pages_unsucc_get(void) { }; inc_ramster_remote_pers_pages_unsucc_get(void)134static inline void inc_ramster_remote_pers_pages_unsucc_get(void) { }; inc_ramster_pers_pages_remote_nomem(void)135static inline void inc_ramster_pers_pages_remote_nomem(void) { }; inc_ramster_remote_objects_flushed(void)136static inline void inc_ramster_remote_objects_flushed(void) { }; inc_ramster_remote_object_flushes_failed(void)137static inline void inc_ramster_remote_object_flushes_failed(void) { }; inc_ramster_remote_pages_flushed(void)138static inline void inc_ramster_remote_pages_flushed(void) { }; inc_ramster_remote_page_flushes_failed(void)139static inline void inc_ramster_remote_page_flushes_failed(void) { }; 140 ramster_debugfs_init(void)141static inline int ramster_debugfs_init(void) 142 { 143 return 0; 144 } 145 #endif 146