Re: [PATCH 1/3] mm: change huge_ptep_clear_flush() to return the original pte

From: Baolin Wang
Date: Thu May 05 2022 - 23:01:51 EST




On 5/6/2022 7:15 AM, Mike Kravetz wrote:
On 4/29/22 01:14, Baolin Wang wrote:
It is incorrect to use ptep_clear_flush() to nuke a hugetlb page
table when unmapping or migrating a hugetlb page, and will change
to use huge_ptep_clear_flush() instead in the following patches.

So this is a preparation patch, which changes the huge_ptep_clear_flush()
to return the original pte to help to nuke a hugetlb page table.

Signed-off-by: Baolin Wang <baolin.wang@xxxxxxxxxxxxxxxxx>
---
arch/arm64/include/asm/hugetlb.h | 4 ++--
arch/arm64/mm/hugetlbpage.c | 12 +++++-------
arch/ia64/include/asm/hugetlb.h | 4 ++--
arch/mips/include/asm/hugetlb.h | 9 ++++++---
arch/parisc/include/asm/hugetlb.h | 4 ++--
arch/powerpc/include/asm/hugetlb.h | 9 ++++++---
arch/s390/include/asm/hugetlb.h | 6 +++---
arch/sh/include/asm/hugetlb.h | 4 ++--
arch/sparc/include/asm/hugetlb.h | 4 ++--
include/asm-generic/hugetlb.h | 4 ++--
10 files changed, 32 insertions(+), 28 deletions(-)

The above changes look straight forward.
Happy that you Cc'ed impacted arch maintainers so they can at least
have a look.

The only user of huge_ptep_clear_flush() today is hugetlb_cow/wp() in
mm/hugetlb.c. Any reason why you did not change that code? At least

Cause we did not use the return value of huge_ptep_clear_flush() in mm/hugetlb.c.

cast the return of huge_ptep_clear_flush() to void with a comment?

Sure. Will add an explicit casting in next version.

Not absolutely necessary.

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

Thanks.