Re: [PATCH v5 1/6] userfaultfd: convert mfill_atomic_pte_copy() to use a folio

From: zhangpeng (AS)
Date: Sat Apr 08 2023 - 00:43:17 EST


On 2023/4/7 5:31, Mike Kravetz wrote:

On 03/31/23 17:39, Peng Zhang wrote:
From: ZhangPeng <zhangpeng362@xxxxxxxxxx>

Call vma_alloc_folio() directly instead of alloc_page_vma() and convert
page_kaddr to kaddr in mfill_atomic_pte_copy(). Removes several calls to
compound_head().

Signed-off-by: ZhangPeng <zhangpeng362@xxxxxxxxxx>
Reviewed-by: Sidhartha Kumar <sidhartha.kumar@xxxxxxxxxx>
---
mm/userfaultfd.c | 33 +++++++++++++++++----------------
1 file changed, 17 insertions(+), 16 deletions(-)
Looks good,

Reviewed-by: Mike Kravetz <mike.kravetz@xxxxxxxxxx>

} else {
- page = *pagep;
+ folio = page_folio(*pagep);
+ VM_BUG_ON_FOLIO(folio_test_large(folio), folio);
*pagep = NULL;
}
However, I am still unsure about the reason for adding the VM_BUG_ON_FOLIO
here.

VM_BUG_ON_FOLIO was added to ensure that folio is a single-page folio.
However, the folio corresponding to the foliop is always a single-page
folio. We just don't need this check. I'll drop VM_BUG_ON_FOLIO.

Thanks for your review.

Best Regards,
Peng