1 #include <linux/atomic.h>
4 ssize_t ramster_foreign_eph_pages;
5 ssize_t ramster_foreign_pers_pages;
7 #include <linux/debugfs.h>
9 ssize_t ramster_eph_pages_remoted;
10 ssize_t ramster_pers_pages_remoted;
11 ssize_t ramster_eph_pages_remote_failed;
12 ssize_t ramster_pers_pages_remote_failed;
13 ssize_t ramster_remote_eph_pages_succ_get;
14 ssize_t ramster_remote_pers_pages_succ_get;
15 ssize_t ramster_remote_eph_pages_unsucc_get;
16 ssize_t ramster_remote_pers_pages_unsucc_get;
17 ssize_t ramster_pers_pages_remote_nomem;
18 ssize_t ramster_remote_objects_flushed;
19 ssize_t ramster_remote_object_flushes_failed;
20 ssize_t ramster_remote_pages_flushed;
21 ssize_t ramster_remote_page_flushes_failed;
23 #define ATTR(x) { .name = #x, .val = &ramster_##x, }
24 static struct debug_entry {
28 ATTR(eph_pages_remoted),
29 ATTR(pers_pages_remoted),
30 ATTR(eph_pages_remote_failed),
31 ATTR(pers_pages_remote_failed),
32 ATTR(remote_eph_pages_succ_get),
33 ATTR(remote_pers_pages_succ_get),
34 ATTR(remote_eph_pages_unsucc_get),
35 ATTR(remote_pers_pages_unsucc_get),
36 ATTR(pers_pages_remote_nomem),
37 ATTR(remote_objects_flushed),
38 ATTR(remote_pages_flushed),
39 ATTR(remote_object_flushes_failed),
40 ATTR(remote_page_flushes_failed),
41 ATTR(foreign_eph_pages),
42 ATTR(foreign_eph_pages_max),
43 ATTR(foreign_pers_pages),
44 ATTR(foreign_pers_pages_max),
48 int ramster_debugfs_init(void)
51 struct dentry *root = debugfs_create_dir("ramster", NULL);
55 for (i = 0; i < ARRAY_SIZE(attrs); i++)
56 if (!debugfs_create_size_t(attrs[i].name,
57 S_IRUGO, root, attrs[i].val))
64 static inline int ramster_debugfs_init(void)