#include #ifdef CONFIG_RAMSTER_DEBUG extern long ramster_flnodes; static atomic_t ramster_flnodes_atomic = ATOMIC_INIT(0); static unsigned long ramster_flnodes_max; static inline void inc_ramster_flnodes(void) { ramster_flnodes = atomic_inc_return(&ramster_flnodes_atomic); if (ramster_flnodes > ramster_flnodes_max) ramster_flnodes_max = ramster_flnodes; } static inline void dec_ramster_flnodes(void) { ramster_flnodes = atomic_dec_return(&ramster_flnodes_atomic); } extern ssize_t ramster_foreign_eph_pages; static atomic_t ramster_foreign_eph_pages_atomic = ATOMIC_INIT(0); static ssize_t ramster_foreign_eph_pages_max; static inline void inc_ramster_foreign_eph_pages(void) { ramster_foreign_eph_pages = atomic_inc_return( &ramster_foreign_eph_pages_atomic); if (ramster_foreign_eph_pages > ramster_foreign_eph_pages_max) ramster_foreign_eph_pages_max = ramster_foreign_eph_pages; } static inline void dec_ramster_foreign_eph_pages(void) { ramster_foreign_eph_pages = atomic_dec_return( &ramster_foreign_eph_pages_atomic); } extern ssize_t ramster_foreign_pers_pages; static atomic_t ramster_foreign_pers_pages_atomic = ATOMIC_INIT(0); static ssize_t ramster_foreign_pers_pages_max; static inline void inc_ramster_foreign_pers_pages(void) { ramster_foreign_pers_pages = atomic_inc_return( &ramster_foreign_pers_pages_atomic); if (ramster_foreign_pers_pages > ramster_foreign_pers_pages_max) ramster_foreign_pers_pages_max = ramster_foreign_pers_pages; } static inline void dec_ramster_foreign_pers_pages(void) { ramster_foreign_pers_pages = atomic_dec_return( &ramster_foreign_pers_pages_atomic); } extern ssize_t ramster_eph_pages_remoted; extern ssize_t ramster_pers_pages_remoted; extern ssize_t ramster_eph_pages_remote_failed; extern ssize_t ramster_pers_pages_remote_failed; extern ssize_t ramster_remote_eph_pages_succ_get; extern ssize_t ramster_remote_pers_pages_succ_get; extern ssize_t ramster_remote_eph_pages_unsucc_get; extern ssize_t ramster_remote_pers_pages_unsucc_get; extern ssize_t ramster_pers_pages_remote_nomem; extern ssize_t ramster_remote_objects_flushed; extern ssize_t ramster_remote_object_flushes_failed; extern ssize_t ramster_remote_pages_flushed; extern ssize_t ramster_remote_page_flushes_failed; int ramster_debugfs_init(void); static inline void inc_ramster_eph_pages_remoted(void) { ramster_eph_pages_remoted++; }; static inline void inc_ramster_pers_pages_remoted(void) { ramster_pers_pages_remoted++; }; static inline void inc_ramster_eph_pages_remote_failed(void) { ramster_eph_pages_remote_failed++; }; static inline void inc_ramster_pers_pages_remote_failed(void) { ramster_pers_pages_remote_failed++; }; static inline void inc_ramster_remote_eph_pages_succ_get(void) { ramster_remote_eph_pages_succ_get++; }; static inline void inc_ramster_remote_pers_pages_succ_get(void) { ramster_remote_pers_pages_succ_get++; }; static inline void inc_ramster_remote_eph_pages_unsucc_get(void) { ramster_remote_eph_pages_unsucc_get++; }; static inline void inc_ramster_remote_pers_pages_unsucc_get(void) { ramster_remote_pers_pages_unsucc_get++; }; static inline void inc_ramster_pers_pages_remote_nomem(void) { ramster_pers_pages_remote_nomem++; }; static inline void inc_ramster_remote_objects_flushed(void) { ramster_remote_objects_flushed++; }; static inline void inc_ramster_remote_object_flushes_failed(void) { ramster_remote_object_flushes_failed++; }; static inline void inc_ramster_remote_pages_flushed(void) { ramster_remote_pages_flushed++; }; static inline void inc_ramster_remote_page_flushes_failed(void) { ramster_remote_page_flushes_failed++; }; #else static inline void inc_ramster_flnodes(void) { }; static inline void dec_ramster_flnodes(void) { }; static inline void inc_ramster_foreign_eph_pages(void) { }; static inline void dec_ramster_foreign_eph_pages(void) { }; static inline void inc_ramster_foreign_pers_pages(void) { }; static inline void dec_ramster_foreign_pers_pages(void) { }; static inline void inc_ramster_eph_pages_remoted(void) { }; static inline void inc_ramster_pers_pages_remoted(void) { }; static inline void inc_ramster_eph_pages_remote_failed(void) { }; static inline void inc_ramster_pers_pages_remote_failed(void) { }; static inline void inc_ramster_remote_eph_pages_succ_get(void) { }; static inline void inc_ramster_remote_pers_pages_succ_get(void) { }; static inline void inc_ramster_remote_eph_pages_unsucc_get(void) { }; static inline void inc_ramster_remote_pers_pages_unsucc_get(void) { }; static inline void inc_ramster_pers_pages_remote_nomem(void) { }; static inline void inc_ramster_remote_objects_flushed(void) { }; static inline void inc_ramster_remote_object_flushes_failed(void) { }; static inline void inc_ramster_remote_pages_flushed(void) { }; static inline void inc_ramster_remote_page_flushes_failed(void) { }; static inline int ramster_debugfs_init(void) { return 0; } #endif