On 05/06/2020 01:13 PM, Will Deacon wrote: > On Wed, May 06, 2020 at 11:42:12AM +0530, Anshuman Khandual wrote: >> Platform specific huge_ptep_get() is required only when fetching the huge >> PTE involves more than just dereferencing the page table pointer. This is >> not the case on arm64 platform. Hence huge_ptep_pte() can be dropped along >> with it's __HAVE_ARCH_HUGE_PTEP_GET subscription. >> >> Cc: Catalin Marinas <catalin.marinas@xxxxxxx> >> Cc: Will Deacon <will@xxxxxxxxxx> >> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> >> Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx >> Cc: linux-mm@xxxxxxxxx >> Cc: linux-kernel@xxxxxxxxxxxxxxx >> Signed-off-by: Anshuman Khandual <anshuman.khandual@xxxxxxx> >> --- >> arch/arm64/include/asm/hugetlb.h | 6 ------ >> 1 file changed, 6 deletions(-) >> >> diff --git a/arch/arm64/include/asm/hugetlb.h b/arch/arm64/include/asm/hugetlb.h >> index 2eb6c234d594..b88878ddc88b 100644 >> --- a/arch/arm64/include/asm/hugetlb.h >> +++ b/arch/arm64/include/asm/hugetlb.h >> @@ -17,12 +17,6 @@ >> extern bool arch_hugetlb_migration_supported(struct hstate *h); >> #endif >> >> -#define __HAVE_ARCH_HUGE_PTEP_GET >> -static inline pte_t huge_ptep_get(pte_t *ptep) >> -{ >> - return READ_ONCE(*ptep); >> -} > > Hmm, I'm nervous about dropping the READ_ONCE() here. We added them after > running into page-table issues with THP [1] and it's really important to > use them consistently to avoid hitting that again. > > If the generic code used READ_ONCE(), I'd be happy to switch to it. Sure, will add READ_ONCE() in the generic huge_ptep_get(). AFAICS it should not cause any problem for other platforms (but let me know otherwise). > > Will > > [1] https://lore.kernel.org/lkml/1506527369-19535-1-git-send-email-will.deacon@xxxxxxx/ >