Re: [PATCH 1/4] mm/ksm: refactor out try_to_merge_with_zero_page()

From: David Hildenbrand
Date: Mon May 27 2024 - 03:18:34 EST


Am 27.05.24 um 06:36 schrieb Chengming Zhou:
On 2024/5/24 23:12, David Hildenbrand wrote:
On 24.05.24 10:56, Chengming Zhou wrote:
In preparation for later changes, refactor out a new function called
try_to_merge_with_zero_page(), which tries to merge with zero page.

Signed-off-by: Chengming Zhou <chengming.zhou@xxxxxxxxx>
---
  mm/ksm.c | 67 +++++++++++++++++++++++++++++++++++-----------------------------
  1 file changed, 37 insertions(+), 30 deletions(-)

diff --git a/mm/ksm.c b/mm/ksm.c
index 4dc707d175fa..cbd4ba7ea974 100644
--- a/mm/ksm.c
+++ b/mm/ksm.c
@@ -1531,6 +1531,41 @@ static int try_to_merge_one_page(struct vm_area_struct *vma,
      return err;
  }
  +/* This function returns 0 if the pages were merged, -EFAULT otherwise. */

No it doesn't. Check the "err = 0" case.


Right, how about this: This function returns 0 if the page were merged or the vma
is out of date, which means we don't need to continue, -EFAULT otherwise.

Maybe slightly adjusted:

This function returns 0 if the pages were merged or if they are no longer merging candidates (e.g., VMA stale), -EFAULT otherwise.

--
Thanks,

David / dhildenb