Introduce zero-filled page statistics to monitor the number of zero-filled pages. Acked-by: Dan Magenheimer <dan.magenheimer@xxxxxxxxxx> Signed-off-by: Wanpeng Li <liwanp@xxxxxxxxxxxxxxxxxx> --- drivers/staging/zcache/zcache-main.c | 7 +++++++ 1 files changed, 7 insertions(+), 0 deletions(-) diff --git a/drivers/staging/zcache/zcache-main.c b/drivers/staging/zcache/zcache-main.c index ef8c960..bc7ccbb 100644 --- a/drivers/staging/zcache/zcache-main.c +++ b/drivers/staging/zcache/zcache-main.c @@ -197,6 +197,7 @@ static ssize_t zcache_eph_nonactive_puts_ignored; static ssize_t zcache_pers_nonactive_puts_ignored; static ssize_t zcache_writtenback_pages; static ssize_t zcache_outstanding_writeback_pages; +static ssize_t zcache_zero_filled_pages; #ifdef CONFIG_DEBUG_FS #include <linux/debugfs.h> @@ -258,6 +259,7 @@ static int zcache_debugfs_init(void) zdfs("outstanding_writeback_pages", S_IRUGO, root, &zcache_outstanding_writeback_pages); zdfs("writtenback_pages", S_IRUGO, root, &zcache_writtenback_pages); + zdfs("zero_filled_pages", S_IRUGO, root, &zcache_zero_filled_pages); return 0; } #undef zdebugfs @@ -327,6 +329,7 @@ void zcache_dump(void) pr_info("zcache: outstanding_writeback_pages=%zd\n", zcache_outstanding_writeback_pages); pr_info("zcache: writtenback_pages=%zd\n", zcache_writtenback_pages); + pr_info("zcache: zero_filled_pages=%zd\n", zcache_zero_filled_pages); } #endif @@ -563,6 +566,7 @@ static void *zcache_pampd_eph_create(char *data, size_t size, bool raw, kunmap_atomic(user_mem); clen = 0; zero_filled = true; + zcache_zero_filled_pages++; goto got_pampd; } kunmap_atomic(user_mem); @@ -646,6 +650,7 @@ static void *zcache_pampd_pers_create(char *data, size_t size, bool raw, kunmap_atomic(user_mem); clen = 0; zero_filled = true; + zcache_zero_filled_pages++; goto got_pampd; } kunmap_atomic(user_mem); @@ -867,6 +872,7 @@ static int zcache_pampd_get_data_and_free(char *data, size_t *sizep, bool raw, zpages = 1; if (!raw) *sizep = PAGE_SIZE; + zcache_zero_filled_pages--; goto zero_fill; } @@ -923,6 +929,7 @@ static void zcache_pampd_free(void *pampd, struct tmem_pool *pool, zero_filled = true; zsize = 0; zpages = 1; + zcache_zero_filled_pages--; } if (pampd_is_remote(pampd) && !zero_filled) { -- 1.7.7.6 -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>