On 2016/10/15 3:25, Vitaly Wool wrote: > On Fri, Oct 14, 2016 at 3:35 PM, zhongjiang <zhongjiang@xxxxxxxxxx> wrote: >> From: zhong jiang <zhongjiang@xxxxxxxxxx> >> >> 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@xxxxxxxxxx> >> --- >> 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@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>