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 <[email protected]>
---
 drivers/staging/zcache/zcache-main.c |    8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/drivers/staging/zcache/zcache-main.c 
b/drivers/staging/zcache/zcache-main.c
index f3de76d..e23d814 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);
-- 
1.7.10.4

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to