Re: [RFC PATCH 1/3] arm64/hugetlb: Introduce new huge_ptep_get_access_flags() interface

From: Baolin Wang
Date: Mon May 09 2022 - 00:26:53 EST




On 5/9/2022 12:10 PM, nh26223@xxxxxx write:
----------------8<---------------

diff --git a/arch/arm64/mm/hugetlbpage.c b/arch/arm64/mm/hugetlbpage.c
index ca8e65c..ce39699 100644
--- a/arch/arm64/mm/hugetlbpage.c
+++ b/arch/arm64/mm/hugetlbpage.c
@@ -158,6 +158,30 @@ static inline int num_contig_ptes(unsigned long
size,
size_t *pgsize) return contig_ptes;

}

+pte_t huge_ptep_get_access_flags(pte_t *ptep, unsigned long sz)

The function name looks to me that it returns access flags of PTE.

Yes, not a good name. That's why this is a RFC patch set to get more
suggestion :)

Maybe huge_ptep_get_with_access_flags()? or do you have some better idea?
I don't have either. "Naming is hard". :)

diff --git a/include/asm-generic/hugetlb.h
b/include/asm-generic/hugetlb.h
index a57d667..bb77fb0 100644
--- a/include/asm-generic/hugetlb.h
+++ b/include/asm-generic/hugetlb.h
@@ -150,6 +150,13 @@ static inline pte_t huge_ptep_get(pte_t *ptep)

}
#endif

+#ifndef __HAVE_ARCH_HUGE_PTEP_GET_ACCESS_FLAGS
+static inline pte_t huge_ptep_get_access_flags(pte_t *ptep, unsigned
long
sz) +{
+ return ptep_get(ptep);

Should be:
return huge_ptep_get(ptep) ?

I don't think so. If no ARCH-specific definition, the
huge_ptep_get_access_flags() implementation should be same as
huge_ptep_get(). Thanks for your comments.
If no __HAVE_ARCH_HUGE_PTEP_GET, huge_ptep_get() is same as
ptep_get().

Or it's not possible no __HAVE_ARCH_HUGE_PTEP_GET_ACCESS_FLAGS
but with __HAVE_ARCH_HUGE_PTEP_GET?

Yes, I am wrong, shoule be huge_ptep_get(). Thanks for pointing out issues :)

PS: I think I will follow Muchun's suggestion in next version, so no need to add a new interface.