s390/mm: remove useless hugepage address alignment
authorGerald Schaefer <gerald.schaefer@linux.ibm.com>
Fri, 19 Aug 2022 17:40:11 +0000 (19:40 +0200)
committerVasily Gorbik <gor@linux.ibm.com>
Tue, 30 Aug 2022 19:57:07 +0000 (21:57 +0200)
The failing address alignment to HPAGE_MASK in do_exception(), for
hugetlb faults, was useless from the beginning. With 2 GB hugepage
support it became wrong, but w/o further negative impact. Now it
could have negative performance impact because it breaks the cacheline
optimization for process_huge_page().

Therefore, remove it.

Note that we still have failing address alignment by HW to PAGE_SIZE,
for all page faults, not just hugetlb faults. So this patch will not
fix UFFD_FEATURE_EXACT_ADDRESS for userfaultfd handling. It will just
move the failing address for hugetlb faults a bit closer to the real
address, at 4K page granularity, similar to normal page faults.

Reviewed-by: Heiko Carstens <hca@linux.ibm.com>
Signed-off-by: Gerald Schaefer <gerald.schaefer@linux.ibm.com>
Signed-off-by: Vasily Gorbik <gor@linux.ibm.com>
arch/s390/mm/fault.c

index 09b6e756d521d5b70b234ca1054419f7a40ff490..9ab6ca6f7f59018d078812c46695206c1456b75f 100644 (file)
@@ -421,8 +421,6 @@ retry:
        if (unlikely(!(vma->vm_flags & access)))
                goto out_up;
 
-       if (is_vm_hugetlb_page(vma))
-               address &= HPAGE_MASK;
        /*
         * If for any reason at all we couldn't handle the fault,
         * make sure we exit gracefully rather than endlessly redo