]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
staging: ramster: Move debugfs code out of ramster.c file
authorWanpeng Li <liwanp@linux.vnet.ibm.com>
Sat, 13 Apr 2013 13:01:27 +0000 (21:01 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 13 Apr 2013 13:23:33 +0000 (06:23 -0700)
Note that at this point there is no CONFIG_RAMSTER_DEBUG
option in the Kconfig. So in effect all of the counters
are nop until that option gets introduced in patch:
ramster/debug: Add CONFIG_RAMSTER_DEBUG Kconfig entry

Acked-by: Dan Magenheimer <dan.magenheimer@oracle.com>
Signed-off-by: Wanpeng Li <liwanp@linux.vnet.ibm.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/zcache/Makefile
drivers/staging/zcache/ramster/debug.c [new file with mode: 0644]
drivers/staging/zcache/ramster/debug.h [new file with mode: 0644]
drivers/staging/zcache/ramster/ramster.c

index 24fd6aa238179d6d6e622f081c3a3422c9f4de12..4956fa025a01823d20a4790b0d9757506530616f 100644 (file)
@@ -1,5 +1,6 @@
 zcache-y       :=              zcache-main.o tmem.o zbud.o
 zcache-$(CONFIG_ZCACHE_DEBUG) += debug.o
+zcache-$(CONFIG_RAMSTER) += ramster/debug.o
 zcache-$(CONFIG_RAMSTER)       +=      ramster/ramster.o ramster/r2net.o
 zcache-$(CONFIG_RAMSTER)       +=      ramster/nodemanager.o ramster/tcp.o
 zcache-$(CONFIG_RAMSTER)       +=      ramster/heartbeat.o ramster/masklog.o
diff --git a/drivers/staging/zcache/ramster/debug.c b/drivers/staging/zcache/ramster/debug.c
new file mode 100644 (file)
index 0000000..76861e4
--- /dev/null
@@ -0,0 +1,70 @@
+#include <linux/atomic.h>
+#include "debug.h"
+
+#ifdef CONFIG_DEBUG_FS
+#include <linux/debugfs.h>
+#define zdfs    debugfs_create_size_t
+#define zdfs64  debugfs_create_u64
+
+ssize_t ramster_eph_pages_remoted;
+ssize_t ramster_pers_pages_remoted;
+ssize_t ramster_eph_pages_remote_failed;
+ssize_t ramster_pers_pages_remote_failed;
+ssize_t ramster_remote_eph_pages_succ_get;
+ssize_t ramster_remote_pers_pages_succ_get;
+ssize_t ramster_remote_eph_pages_unsucc_get;
+ssize_t ramster_remote_pers_pages_unsucc_get;
+ssize_t ramster_pers_pages_remote_nomem;
+ssize_t ramster_remote_objects_flushed;
+ssize_t ramster_remote_object_flushes_failed;
+ssize_t ramster_remote_pages_flushed;
+ssize_t ramster_remote_page_flushes_failed;
+
+int __init ramster_debugfs_init(void)
+{
+       struct dentry *root = debugfs_create_dir("ramster", NULL);
+       if (root == NULL)
+               return -ENXIO;
+
+       zdfs("eph_pages_remoted", S_IRUGO, root, &ramster_eph_pages_remoted);
+       zdfs("pers_pages_remoted", S_IRUGO, root, &ramster_pers_pages_remoted);
+       zdfs("eph_pages_remote_failed", S_IRUGO, root,
+               &ramster_eph_pages_remote_failed);
+       zdfs("pers_pages_remote_failed", S_IRUGO, root,
+               &ramster_pers_pages_remote_failed);
+       zdfs("remote_eph_pages_succ_get", S_IRUGO, root,
+               &ramster_remote_eph_pages_succ_get);
+       zdfs("remote_pers_pages_succ_get", S_IRUGO, root,
+               &ramster_remote_pers_pages_succ_get);
+       zdfs("remote_eph_pages_unsucc_get", S_IRUGO, root,
+               &ramster_remote_eph_pages_unsucc_get);
+       zdfs("remote_pers_pages_unsucc_get", S_IRUGO, root,
+               &ramster_remote_pers_pages_unsucc_get);
+       zdfs("pers_pages_remote_nomem", S_IRUGO, root,
+               &ramster_pers_pages_remote_nomem);
+       zdfs("remote_objects_flushed", S_IRUGO, root,
+               &ramster_remote_objects_flushed);
+       zdfs("remote_pages_flushed", S_IRUGO, root,
+               &ramster_remote_pages_flushed);
+       zdfs("remote_object_flushes_failed", S_IRUGO, root,
+               &ramster_remote_object_flushes_failed);
+       zdfs("remote_page_flushes_failed", S_IRUGO, root,
+               &ramster_remote_page_flushes_failed);
+       zdfs("foreign_eph_pages", S_IRUGO, root,
+               &ramster_foreign_eph_pages);
+       zdfs("foreign_eph_pages_max", S_IRUGO, root,
+               &ramster_foreign_eph_pages_max);
+       zdfs("foreign_pers_pages", S_IRUGO, root,
+               &ramster_foreign_pers_pages);
+       zdfs("foreign_pers_pages_max", S_IRUGO, root,
+               &ramster_foreign_pers_pages_max);
+       return 0;
+}
+#undef  zdebugfs
+#undef  zdfs64
+#else
+static inline int ramster_debugfs_init(void)
+{
+       return 0;
+}
+#endif
diff --git a/drivers/staging/zcache/ramster/debug.h b/drivers/staging/zcache/ramster/debug.h
new file mode 100644 (file)
index 0000000..3f608b7
--- /dev/null
@@ -0,0 +1,78 @@
+#include <linux/bug.h>
+
+#ifdef CONFIG_RAMSTER
+
+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);
+
+#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 int ramster_debugfs_init(void)
+{
+       return 0;
+}
+#endif
index 444189e10895a61bf74df58c78fc90dc77147b86..1d29f5b3e532118423717d708d345538dbe13c77 100644 (file)
@@ -42,6 +42,7 @@
 #include "ramster.h"
 #include "ramster_nodemanager.h"
 #include "tcp.h"
+#include "debug.h"
 
 #define RAMSTER_TESTING
 
@@ -63,118 +64,12 @@ static atomic_t ramster_remote_pers_pages = ATOMIC_INIT(0);
 static bool ramster_nodes_manual_up[MANUAL_NODES] __read_mostly;
 static int ramster_remote_target_nodenum __read_mostly = -1;
 
-/* these counters are made available via debugfs */
-static 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);
-}
-static 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);
-}
-static 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);
-}
-static ssize_t ramster_eph_pages_remoted;
-static ssize_t ramster_pers_pages_remoted;
-static ssize_t ramster_eph_pages_remote_failed;
-static ssize_t ramster_pers_pages_remote_failed;
-static ssize_t ramster_remote_eph_pages_succ_get;
-static ssize_t ramster_remote_pers_pages_succ_get;
-static ssize_t ramster_remote_eph_pages_unsucc_get;
-static ssize_t ramster_remote_pers_pages_unsucc_get;
-static ssize_t ramster_pers_pages_remote_nomem;
-static ssize_t ramster_remote_objects_flushed;
-static ssize_t ramster_remote_object_flushes_failed;
-static ssize_t ramster_remote_pages_flushed;
-static ssize_t ramster_remote_page_flushes_failed;
+/* Used by this code. */
+long ramster_flnodes;
+ssize_t ramster_foreign_eph_pages;
+ssize_t ramster_foreign_pers_pages;
 /* FIXME frontswap selfshrinking knobs in debugfs? */
 
-#ifdef CONFIG_DEBUG_FS
-#include <linux/debugfs.h>
-#define        zdfs    debugfs_create_size_t
-#define        zdfs64  debugfs_create_u64
-static int __init ramster_debugfs_init(void)
-{
-       struct dentry *root = debugfs_create_dir("ramster", NULL);
-       if (root == NULL)
-               return -ENXIO;
-
-       zdfs("eph_pages_remoted", S_IRUGO, root, &ramster_eph_pages_remoted);
-       zdfs("pers_pages_remoted", S_IRUGO, root, &ramster_pers_pages_remoted);
-       zdfs("eph_pages_remote_failed", S_IRUGO, root,
-                       &ramster_eph_pages_remote_failed);
-       zdfs("pers_pages_remote_failed", S_IRUGO, root,
-                       &ramster_pers_pages_remote_failed);
-       zdfs("remote_eph_pages_succ_get", S_IRUGO, root,
-                       &ramster_remote_eph_pages_succ_get);
-       zdfs("remote_pers_pages_succ_get", S_IRUGO, root,
-                       &ramster_remote_pers_pages_succ_get);
-       zdfs("remote_eph_pages_unsucc_get", S_IRUGO, root,
-                       &ramster_remote_eph_pages_unsucc_get);
-       zdfs("remote_pers_pages_unsucc_get", S_IRUGO, root,
-                       &ramster_remote_pers_pages_unsucc_get);
-       zdfs("pers_pages_remote_nomem", S_IRUGO, root,
-                       &ramster_pers_pages_remote_nomem);
-       zdfs("remote_objects_flushed", S_IRUGO, root,
-                       &ramster_remote_objects_flushed);
-       zdfs("remote_pages_flushed", S_IRUGO, root,
-                       &ramster_remote_pages_flushed);
-       zdfs("remote_object_flushes_failed", S_IRUGO, root,
-                       &ramster_remote_object_flushes_failed);
-       zdfs("remote_page_flushes_failed", S_IRUGO, root,
-                       &ramster_remote_page_flushes_failed);
-       zdfs("foreign_eph_pages", S_IRUGO, root,
-                       &ramster_foreign_eph_pages);
-       zdfs("foreign_eph_pages_max", S_IRUGO, root,
-                       &ramster_foreign_eph_pages_max);
-       zdfs("foreign_pers_pages", S_IRUGO, root,
-                       &ramster_foreign_pers_pages);
-       zdfs("foreign_pers_pages_max", S_IRUGO, root,
-                       &ramster_foreign_pers_pages_max);
-       return 0;
-}
-#undef zdebugfs
-#undef zdfs64
-#else
-static inline int ramster_debugfs_init(void)
-{
-       return 0;
-}
-#endif
-
 static LIST_HEAD(ramster_rem_op_list);
 static DEFINE_SPINLOCK(ramster_rem_op_list_lock);
 static DEFINE_PER_CPU(struct ramster_preload, ramster_preloads);