Re: [PATCH v3 3/5] handle zcache_[eph|pers]_zpages for zero-filled page

2013-03-16 Thread Konrad Rzeszutek Wilk
On Fri, Mar 15, 2013 at 10:34:18AM +0800, Wanpeng Li wrote:
> Increment/decrement zcache_[eph|pers]_zpages for zero-filled pages,
> the main point of the counters for zpages and pageframes is to be 
> able to calculate density == zpages/pageframes. A zero-filled page 
> becomes a zpage that "compresses" to zero bytes and, as a result, 
> requires zero pageframes for storage. So the zpages counter should 
> be increased but the pageframes counter should not.
> 
> [Dan Magenheimer : patch description]
> Acked-by: Dan Magenheimer 

Reviewed-by: Konrad Rzeszutek Wilk 
> Signed-off-by: Wanpeng Li 
> ---
>  drivers/staging/zcache/zcache-main.c |7 ++-
>  1 files changed, 6 insertions(+), 1 deletions(-)
> 
> diff --git a/drivers/staging/zcache/zcache-main.c 
> b/drivers/staging/zcache/zcache-main.c
> index 6c35c7d..ef8c960 100644
> --- a/drivers/staging/zcache/zcache-main.c
> +++ b/drivers/staging/zcache/zcache-main.c
> @@ -863,6 +863,8 @@ static int zcache_pampd_get_data_and_free(char *data, 
> size_t *sizep, bool raw,
>   if (pampd == (void *)ZERO_FILLED) {
>   handle_zero_filled_page(data);
>   zero_filled = true;
> + zsize = 0;
> + zpages = 1;
>   if (!raw)
>   *sizep = PAGE_SIZE;
>   goto zero_fill;
> @@ -917,8 +919,11 @@ static void zcache_pampd_free(void *pampd, struct 
> tmem_pool *pool,
>  
>   BUG_ON(preemptible());
>  
> - if (pampd == (void *)ZERO_FILLED)
> + if (pampd == (void *)ZERO_FILLED) {
>   zero_filled = true;
> + zsize = 0;
> + zpages = 1;
> + }
>  
>   if (pampd_is_remote(pampd) && !zero_filled) {
>  
> -- 
> 1.7.7.6
> 
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH v3 3/5] handle zcache_[eph|pers]_zpages for zero-filled page

2013-03-16 Thread Konrad Rzeszutek Wilk
On Fri, Mar 15, 2013 at 10:34:18AM +0800, Wanpeng Li wrote:
 Increment/decrement zcache_[eph|pers]_zpages for zero-filled pages,
 the main point of the counters for zpages and pageframes is to be 
 able to calculate density == zpages/pageframes. A zero-filled page 
 becomes a zpage that compresses to zero bytes and, as a result, 
 requires zero pageframes for storage. So the zpages counter should 
 be increased but the pageframes counter should not.
 
 [Dan Magenheimer dan.magenhei...@oracle.com: patch description]
 Acked-by: Dan Magenheimer dan.magenhei...@oracle.com

Reviewed-by: Konrad Rzeszutek Wilk konrad.w...@oracle.com
 Signed-off-by: Wanpeng Li liw...@linux.vnet.ibm.com
 ---
  drivers/staging/zcache/zcache-main.c |7 ++-
  1 files changed, 6 insertions(+), 1 deletions(-)
 
 diff --git a/drivers/staging/zcache/zcache-main.c 
 b/drivers/staging/zcache/zcache-main.c
 index 6c35c7d..ef8c960 100644
 --- a/drivers/staging/zcache/zcache-main.c
 +++ b/drivers/staging/zcache/zcache-main.c
 @@ -863,6 +863,8 @@ static int zcache_pampd_get_data_and_free(char *data, 
 size_t *sizep, bool raw,
   if (pampd == (void *)ZERO_FILLED) {
   handle_zero_filled_page(data);
   zero_filled = true;
 + zsize = 0;
 + zpages = 1;
   if (!raw)
   *sizep = PAGE_SIZE;
   goto zero_fill;
 @@ -917,8 +919,11 @@ static void zcache_pampd_free(void *pampd, struct 
 tmem_pool *pool,
  
   BUG_ON(preemptible());
  
 - if (pampd == (void *)ZERO_FILLED)
 + if (pampd == (void *)ZERO_FILLED) {
   zero_filled = true;
 + zsize = 0;
 + zpages = 1;
 + }
  
   if (pampd_is_remote(pampd)  !zero_filled) {
  
 -- 
 1.7.7.6
 
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH v3 3/5] handle zcache_[eph|pers]_zpages for zero-filled page

2013-03-14 Thread Wanpeng Li
Increment/decrement zcache_[eph|pers]_zpages for zero-filled pages,
the main point of the counters for zpages and pageframes is to be 
able to calculate density == zpages/pageframes. A zero-filled page 
becomes a zpage that "compresses" to zero bytes and, as a result, 
requires zero pageframes for storage. So the zpages counter should 
be increased but the pageframes counter should not.

[Dan Magenheimer : patch description]
Acked-by: Dan Magenheimer 
Signed-off-by: Wanpeng Li 
---
 drivers/staging/zcache/zcache-main.c |7 ++-
 1 files changed, 6 insertions(+), 1 deletions(-)

diff --git a/drivers/staging/zcache/zcache-main.c 
b/drivers/staging/zcache/zcache-main.c
index 6c35c7d..ef8c960 100644
--- a/drivers/staging/zcache/zcache-main.c
+++ b/drivers/staging/zcache/zcache-main.c
@@ -863,6 +863,8 @@ static int zcache_pampd_get_data_and_free(char *data, 
size_t *sizep, bool raw,
if (pampd == (void *)ZERO_FILLED) {
handle_zero_filled_page(data);
zero_filled = true;
+   zsize = 0;
+   zpages = 1;
if (!raw)
*sizep = PAGE_SIZE;
goto zero_fill;
@@ -917,8 +919,11 @@ static void zcache_pampd_free(void *pampd, struct 
tmem_pool *pool,
 
BUG_ON(preemptible());
 
-   if (pampd == (void *)ZERO_FILLED)
+   if (pampd == (void *)ZERO_FILLED) {
zero_filled = true;
+   zsize = 0;
+   zpages = 1;
+   }
 
if (pampd_is_remote(pampd) && !zero_filled) {
 
-- 
1.7.7.6

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


[PATCH v3 3/5] handle zcache_[eph|pers]_zpages for zero-filled page

2013-03-14 Thread Wanpeng Li
Increment/decrement zcache_[eph|pers]_zpages for zero-filled pages,
the main point of the counters for zpages and pageframes is to be 
able to calculate density == zpages/pageframes. A zero-filled page 
becomes a zpage that compresses to zero bytes and, as a result, 
requires zero pageframes for storage. So the zpages counter should 
be increased but the pageframes counter should not.

[Dan Magenheimer dan.magenhei...@oracle.com: patch description]
Acked-by: Dan Magenheimer dan.magenhei...@oracle.com
Signed-off-by: Wanpeng Li liw...@linux.vnet.ibm.com
---
 drivers/staging/zcache/zcache-main.c |7 ++-
 1 files changed, 6 insertions(+), 1 deletions(-)

diff --git a/drivers/staging/zcache/zcache-main.c 
b/drivers/staging/zcache/zcache-main.c
index 6c35c7d..ef8c960 100644
--- a/drivers/staging/zcache/zcache-main.c
+++ b/drivers/staging/zcache/zcache-main.c
@@ -863,6 +863,8 @@ static int zcache_pampd_get_data_and_free(char *data, 
size_t *sizep, bool raw,
if (pampd == (void *)ZERO_FILLED) {
handle_zero_filled_page(data);
zero_filled = true;
+   zsize = 0;
+   zpages = 1;
if (!raw)
*sizep = PAGE_SIZE;
goto zero_fill;
@@ -917,8 +919,11 @@ static void zcache_pampd_free(void *pampd, struct 
tmem_pool *pool,
 
BUG_ON(preemptible());
 
-   if (pampd == (void *)ZERO_FILLED)
+   if (pampd == (void *)ZERO_FILLED) {
zero_filled = true;
+   zsize = 0;
+   zpages = 1;
+   }
 
if (pampd_is_remote(pampd)  !zero_filled) {
 
-- 
1.7.7.6

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