From: Wanpeng Li Date: Wed, 10 Apr 2013 00:25:51 +0000 (+0800) Subject: staging: zcache: fix account foregin counters against zero-filled pages X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=55345fb9ff68e2e5c0259c814542e72aec972c02;p=openwrt%2Fstaging%2Fblogic.git staging: zcache: fix account foregin counters against zero-filled pages zero-filled pages won't be compressed and sent to remote system. Monitor the number ephemeral and persistent pages that Ramster has sent make no sense. This patch skip account foregin counters against zero-filled pages. Signed-off-by: Wanpeng Li Acked-by: Dan Magenheimer Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/staging/zcache/zcache-main.c b/drivers/staging/zcache/zcache-main.c index f3de76d07073..e23d814b5392 100644 --- a/drivers/staging/zcache/zcache-main.c +++ b/drivers/staging/zcache/zcache-main.c @@ -415,7 +415,7 @@ create_in_new_page: got_pampd: inc_zcache_eph_zbytes(clen); inc_zcache_eph_zpages(); - if (ramster_enabled && raw) + if (ramster_enabled && raw && !zero_filled) ramster_count_foreign_pages(true, 1); if (zero_filled) pampd = (void *)ZERO_FILLED; @@ -500,7 +500,7 @@ create_in_new_page: got_pampd: inc_zcache_pers_zpages(); inc_zcache_pers_zbytes(clen); - if (ramster_enabled && raw) + if (ramster_enabled && raw && !zero_filled) ramster_count_foreign_pages(false, 1); if (zero_filled) pampd = (void *)ZERO_FILLED; @@ -681,7 +681,7 @@ zero_fill: dec_zcache_pers_zpages(zpages); dec_zcache_pers_zbytes(zsize); } - if (!is_local_client(pool->client)) + if (!is_local_client(pool->client) && !zero_filled) ramster_count_foreign_pages(eph, -1); if (page && !zero_filled) zcache_free_page(page); @@ -732,7 +732,7 @@ static void zcache_pampd_free(void *pampd, struct tmem_pool *pool, dec_zcache_pers_zpages(zpages); dec_zcache_pers_zbytes(zsize); } - if (!is_local_client(pool->client)) + if (!is_local_client(pool->client) && !zero_filled) ramster_count_foreign_pages(is_ephemeral(pool), -1); if (page && !zero_filled) zcache_free_page(page);