On 2024/5/27 15:18, David Hildenbrand wrote: > 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. > Great, will change to this. Thanks!