All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] z3fold: remove the unnecessary limit in z3fold_compact_page
@ 2016-10-14 13:35 ` zhongjiang
  0 siblings, 0 replies; 6+ messages in thread
From: zhongjiang @ 2016-10-14 13:35 UTC (permalink / raw)
  To: vitalywool, david, sjenning, ddstreet, akpm, mhocko, vbabka,
	linux-mm, linux-kernel

From: zhong jiang <zhongjiang@huawei.com>

z3fold compact page has nothing with the last_chunks. even if
last_chunks is not free, compact page will proceed.

The patch just remove the limit without functional change.

Signed-off-by: zhong jiang <zhongjiang@huawei.com>
---
 mm/z3fold.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/mm/z3fold.c b/mm/z3fold.c
index e8fc216..4668e1c 100644
--- a/mm/z3fold.c
+++ b/mm/z3fold.c
@@ -258,8 +258,7 @@ static int z3fold_compact_page(struct z3fold_header *zhdr)
 
 
 	if (!test_bit(MIDDLE_CHUNK_MAPPED, &page->private) &&
-	    zhdr->middle_chunks != 0 &&
-	    zhdr->first_chunks == 0 && zhdr->last_chunks == 0) {
+	    zhdr->middle_chunks != 0 && zhdr->first_chunks == 0) {
 		memmove(beg + ZHDR_SIZE_ALIGNED,
 			beg + (zhdr->start_middle << CHUNK_SHIFT),
 			zhdr->middle_chunks << CHUNK_SHIFT);
-- 
1.8.3.1

^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [PATCH] z3fold: remove the unnecessary limit in z3fold_compact_page
@ 2016-10-14 13:35 ` zhongjiang
  0 siblings, 0 replies; 6+ messages in thread
From: zhongjiang @ 2016-10-14 13:35 UTC (permalink / raw)
  To: vitalywool, david, sjenning, ddstreet, akpm, mhocko, vbabka,
	linux-mm, linux-kernel

From: zhong jiang <zhongjiang@huawei.com>

z3fold compact page has nothing with the last_chunks. even if
last_chunks is not free, compact page will proceed.

The patch just remove the limit without functional change.

Signed-off-by: zhong jiang <zhongjiang@huawei.com>
---
 mm/z3fold.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/mm/z3fold.c b/mm/z3fold.c
index e8fc216..4668e1c 100644
--- a/mm/z3fold.c
+++ b/mm/z3fold.c
@@ -258,8 +258,7 @@ static int z3fold_compact_page(struct z3fold_header *zhdr)
 
 
 	if (!test_bit(MIDDLE_CHUNK_MAPPED, &page->private) &&
-	    zhdr->middle_chunks != 0 &&
-	    zhdr->first_chunks == 0 && zhdr->last_chunks == 0) {
+	    zhdr->middle_chunks != 0 && zhdr->first_chunks == 0) {
 		memmove(beg + ZHDR_SIZE_ALIGNED,
 			beg + (zhdr->start_middle << CHUNK_SHIFT),
 			zhdr->middle_chunks << CHUNK_SHIFT);
-- 
1.8.3.1

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [PATCH] z3fold: remove the unnecessary limit in z3fold_compact_page
  2016-10-14 13:35 ` zhongjiang
@ 2016-10-14 19:25   ` Vitaly Wool
  -1 siblings, 0 replies; 6+ messages in thread
From: Vitaly Wool @ 2016-10-14 19:25 UTC (permalink / raw)
  To: zhongjiang
  Cc: Dave Chinner, Seth Jennings, Dan Streetman, Andrew Morton,
	Michal Hocko, Vlastimil Babka, Linux-MM, LKML

On Fri, Oct 14, 2016 at 3:35 PM, zhongjiang <zhongjiang@huawei.com> wrote:
> From: zhong jiang <zhongjiang@huawei.com>
>
> z3fold compact page has nothing with the last_chunks. even if
> last_chunks is not free, compact page will proceed.
>
> The patch just remove the limit without functional change.
>
> Signed-off-by: zhong jiang <zhongjiang@huawei.com>
> ---
>  mm/z3fold.c | 3 +--
>  1 file changed, 1 insertion(+), 2 deletions(-)
>
> diff --git a/mm/z3fold.c b/mm/z3fold.c
> index e8fc216..4668e1c 100644
> --- a/mm/z3fold.c
> +++ b/mm/z3fold.c
> @@ -258,8 +258,7 @@ static int z3fold_compact_page(struct z3fold_header *zhdr)
>
>
>         if (!test_bit(MIDDLE_CHUNK_MAPPED, &page->private) &&
> -           zhdr->middle_chunks != 0 &&
> -           zhdr->first_chunks == 0 && zhdr->last_chunks == 0) {
> +           zhdr->middle_chunks != 0 && zhdr->first_chunks == 0) {
>                 memmove(beg + ZHDR_SIZE_ALIGNED,
>                         beg + (zhdr->start_middle << CHUNK_SHIFT),
>                         zhdr->middle_chunks << CHUNK_SHIFT);

This check is actually important because if we move the middle chunk
to the first and leave the last chunk, handles will become invalid and
there won't be any easy way to fix that.

Best regards,
   Vitaly

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] z3fold: remove the unnecessary limit in z3fold_compact_page
@ 2016-10-14 19:25   ` Vitaly Wool
  0 siblings, 0 replies; 6+ messages in thread
From: Vitaly Wool @ 2016-10-14 19:25 UTC (permalink / raw)
  To: zhongjiang
  Cc: Dave Chinner, Seth Jennings, Dan Streetman, Andrew Morton,
	Michal Hocko, Vlastimil Babka, Linux-MM, LKML

On Fri, Oct 14, 2016 at 3:35 PM, zhongjiang <zhongjiang@huawei.com> wrote:
> From: zhong jiang <zhongjiang@huawei.com>
>
> z3fold compact page has nothing with the last_chunks. even if
> last_chunks is not free, compact page will proceed.
>
> The patch just remove the limit without functional change.
>
> Signed-off-by: zhong jiang <zhongjiang@huawei.com>
> ---
>  mm/z3fold.c | 3 +--
>  1 file changed, 1 insertion(+), 2 deletions(-)
>
> diff --git a/mm/z3fold.c b/mm/z3fold.c
> index e8fc216..4668e1c 100644
> --- a/mm/z3fold.c
> +++ b/mm/z3fold.c
> @@ -258,8 +258,7 @@ static int z3fold_compact_page(struct z3fold_header *zhdr)
>
>
>         if (!test_bit(MIDDLE_CHUNK_MAPPED, &page->private) &&
> -           zhdr->middle_chunks != 0 &&
> -           zhdr->first_chunks == 0 && zhdr->last_chunks == 0) {
> +           zhdr->middle_chunks != 0 && zhdr->first_chunks == 0) {
>                 memmove(beg + ZHDR_SIZE_ALIGNED,
>                         beg + (zhdr->start_middle << CHUNK_SHIFT),
>                         zhdr->middle_chunks << CHUNK_SHIFT);

This check is actually important because if we move the middle chunk
to the first and leave the last chunk, handles will become invalid and
there won't be any easy way to fix that.

Best regards,
   Vitaly

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] z3fold: remove the unnecessary limit in z3fold_compact_page
  2016-10-14 19:25   ` Vitaly Wool
@ 2016-10-17  1:51     ` zhong jiang
  -1 siblings, 0 replies; 6+ messages in thread
From: zhong jiang @ 2016-10-17  1:51 UTC (permalink / raw)
  To: Vitaly Wool
  Cc: Dave Chinner, Seth Jennings, Dan Streetman, Andrew Morton,
	Michal Hocko, Vlastimil Babka, Linux-MM, LKML

On 2016/10/15 3:25, Vitaly Wool wrote:
> On Fri, Oct 14, 2016 at 3:35 PM, zhongjiang <zhongjiang@huawei.com> wrote:
>> From: zhong jiang <zhongjiang@huawei.com>
>>
>> z3fold compact page has nothing with the last_chunks. even if
>> last_chunks is not free, compact page will proceed.
>>
>> The patch just remove the limit without functional change.
>>
>> Signed-off-by: zhong jiang <zhongjiang@huawei.com>
>> ---
>>  mm/z3fold.c | 3 +--
>>  1 file changed, 1 insertion(+), 2 deletions(-)
>>
>> diff --git a/mm/z3fold.c b/mm/z3fold.c
>> index e8fc216..4668e1c 100644
>> --- a/mm/z3fold.c
>> +++ b/mm/z3fold.c
>> @@ -258,8 +258,7 @@ static int z3fold_compact_page(struct z3fold_header *zhdr)
>>
>>
>>         if (!test_bit(MIDDLE_CHUNK_MAPPED, &page->private) &&
>> -           zhdr->middle_chunks != 0 &&
>> -           zhdr->first_chunks == 0 && zhdr->last_chunks == 0) {
>> +           zhdr->middle_chunks != 0 && zhdr->first_chunks == 0) {
>>                 memmove(beg + ZHDR_SIZE_ALIGNED,
>>                         beg + (zhdr->start_middle << CHUNK_SHIFT),
>>                         zhdr->middle_chunks << CHUNK_SHIFT);
> This check is actually important because if we move the middle chunk
> to the first and leave the last chunk, handles will become invalid and
> there won't be any easy way to fix that.
>
> Best regards,
>    Vitaly
>
> .
>
 Thanks for you reply. you are right. Leave the last chunk to compact will
 lead to the first_num increase. Thus, handle_to_buddy will become invalid.

 Thanks
 zhongjiang
 

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] z3fold: remove the unnecessary limit in z3fold_compact_page
@ 2016-10-17  1:51     ` zhong jiang
  0 siblings, 0 replies; 6+ messages in thread
From: zhong jiang @ 2016-10-17  1:51 UTC (permalink / raw)
  To: Vitaly Wool
  Cc: Dave Chinner, Seth Jennings, Dan Streetman, Andrew Morton,
	Michal Hocko, Vlastimil Babka, Linux-MM, LKML

On 2016/10/15 3:25, Vitaly Wool wrote:
> On Fri, Oct 14, 2016 at 3:35 PM, zhongjiang <zhongjiang@huawei.com> wrote:
>> From: zhong jiang <zhongjiang@huawei.com>
>>
>> z3fold compact page has nothing with the last_chunks. even if
>> last_chunks is not free, compact page will proceed.
>>
>> The patch just remove the limit without functional change.
>>
>> Signed-off-by: zhong jiang <zhongjiang@huawei.com>
>> ---
>>  mm/z3fold.c | 3 +--
>>  1 file changed, 1 insertion(+), 2 deletions(-)
>>
>> diff --git a/mm/z3fold.c b/mm/z3fold.c
>> index e8fc216..4668e1c 100644
>> --- a/mm/z3fold.c
>> +++ b/mm/z3fold.c
>> @@ -258,8 +258,7 @@ static int z3fold_compact_page(struct z3fold_header *zhdr)
>>
>>
>>         if (!test_bit(MIDDLE_CHUNK_MAPPED, &page->private) &&
>> -           zhdr->middle_chunks != 0 &&
>> -           zhdr->first_chunks == 0 && zhdr->last_chunks == 0) {
>> +           zhdr->middle_chunks != 0 && zhdr->first_chunks == 0) {
>>                 memmove(beg + ZHDR_SIZE_ALIGNED,
>>                         beg + (zhdr->start_middle << CHUNK_SHIFT),
>>                         zhdr->middle_chunks << CHUNK_SHIFT);
> This check is actually important because if we move the middle chunk
> to the first and leave the last chunk, handles will become invalid and
> there won't be any easy way to fix that.
>
> Best regards,
>    Vitaly
>
> .
>
 Thanks for you reply. you are right. Leave the last chunk to compact will
 lead to the first_num increase. Thus, handle_to_buddy will become invalid.

 Thanks
 zhongjiang
 

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2016-10-17  2:01 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-10-14 13:35 [PATCH] z3fold: remove the unnecessary limit in z3fold_compact_page zhongjiang
2016-10-14 13:35 ` zhongjiang
2016-10-14 19:25 ` Vitaly Wool
2016-10-14 19:25   ` Vitaly Wool
2016-10-17  1:51   ` zhong jiang
2016-10-17  1:51     ` zhong jiang

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.