[PATCH v2 0/4] hugetlb: speed up linear address scanning
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
- To: linux-kernel@xxxxxxxxxxxxxxx, linux-mm@xxxxxxxxx, linux-arm-kernel@xxxxxxxxxxxxxxxxxxx, linux-s390@xxxxxxxxxxxxxxx, linux-sh@xxxxxxxxxxxxxxx, sparclinux@xxxxxxxxxxxxxxx, linux-ia64@xxxxxxxxxxxxxxx, linux-mips@xxxxxxxxxxxxxxx, linux-parisc@xxxxxxxxxxxxxxx, linuxppc-dev@xxxxxxxxxxxxxxxx
- Subject: [PATCH v2 0/4] hugetlb: speed up linear address scanning
- From: Mike Kravetz <mike.kravetz@xxxxxxxxxx>
- Date: Tue, 21 Jun 2022 16:56:16 -0700
- Cc: Muchun Song <songmuchun@xxxxxxxxxxxxx>, Baolin Wang <baolin.wang@xxxxxxxxxxxxxxxxx>, Michal Hocko <mhocko@xxxxxxxx>, Peter Xu <peterx@xxxxxxxxxx>, Naoya Horiguchi <naoya.horiguchi@xxxxxxxxx>, James Houghton <jthoughton@xxxxxxxxxx>, Mina Almasry <almasrymina@xxxxxxxxxx>, "Aneesh Kumar K . V" <aneesh.kumar@xxxxxxxxxxxxxxxxxx>, Anshuman Khandual <anshuman.khandual@xxxxxxx>, Paul Walmsley <paul.walmsley@xxxxxxxxxx>, Christian Borntraeger <borntraeger@xxxxxxxxxxxxx>, catalin.marinas@xxxxxxx, will@xxxxxxxxxx, Rolf Eike Beer <eike-kernel@xxxxxxxxx>, Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>, Mike Kravetz <mike.kravetz@xxxxxxxxxx>
At unmap, fork and remap time hugetlb address ranges are linearly
scanned. We can optimize these scans if the ranges are sparsely
populated.
Also, enable page table "Lazy copy" for hugetlb at fork.
NOTE: Architectures not defining CONFIG_ARCH_WANT_GENERAL_HUGETLB
need to add an arch specific version hugetlb_mask_last_page() to
take advantage of sparse address scanning improvements. Baolin Wang
added the routine for arm64. Other architectures which could be
optimized are: ia64, mips, parisc, powerpc, s390, sh and sparc.
v1->v2 Change hugetlb_mask_last_page default code to 0 instead of ~0. Peter
Fix build issues on i386, including going back to if-else-if
instead of switch in hugetlb_mask_last_page. kernel test robot
Update commit message. Rolf Eike Beer
Changes were relatively minor, so I left the Reviewed-by and
ACKed-by tags.
Baolin Wang (1):
arm64/hugetlb: Implement arm64 specific hugetlb_mask_last_page
Mike Kravetz (3):
hugetlb: skip to end of PT page mapping when pte not present
hugetlb: do not update address in huge_pmd_unshare
hugetlb: Lazy page table copies in fork()
arch/arm64/mm/hugetlbpage.c | 20 +++++++
include/linux/hugetlb.h | 5 +-
mm/hugetlb.c | 102 +++++++++++++++++++++++++-----------
mm/memory.c | 2 +-
mm/rmap.c | 4 +-
5 files changed, 96 insertions(+), 37 deletions(-)
--
2.35.3
[Index of Archives]
[Linux Kernel]
[Sparc Linux]
[DCCP]
[Linux ARM]
[Yosemite News]
[Linux SCSI]
[Linux x86_64]
[Linux for Ham Radio]