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 db200b4..2091a4d 100644 --- a/drivers/staging/zcache/zcache-main.c +++ b/drivers/staging/zcache/zcache-main.c @@ -196,6 +196,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_pages_zero; #ifdef CONFIG_DEBUG_FS #include <linux/debugfs.h> @@ -257,6 +258,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("pages_zero", S_IRUGO, root, &zcache_pages_zero); return 0; } #undef zdebugfs @@ -326,6 +328,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: pages_zero=%zd\n", zcache_pages_zero); } #endif @@ -562,6 +565,7 @@ static void *zcache_pampd_eph_create(char *data, size_t size, bool raw, kunmap_atomic(user_mem); clen = 0; zero_filled = true; + zcache_pages_zero++; goto got_pampd; } kunmap_atomic(user_mem); @@ -645,6 +649,7 @@ static void *zcache_pampd_pers_create(char *data, size_t size, bool raw, kunmap_atomic(user_mem); clen = 0; zero_filled = true; + zcache_pages_zero++; goto got_pampd; } kunmap_atomic(user_mem); @@ -866,6 +871,7 @@ static int zcache_pampd_get_data_and_free(char *data, size_t *sizep, bool raw, zpages = 0; if (!raw) *sizep = PAGE_SIZE; + zcache_pages_zero--; goto zero_fill; } @@ -922,6 +928,7 @@ static void zcache_pampd_free(void *pampd, struct tmem_pool *pool, zero_filled = true; zsize = 0; zpages = 0; + zcache_pages_zero--; } 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>