| From: |
| Kefeng Wang <wangkefeng.wang-AT-huawei.com> |
| To: |
| Andrew Morton <akpm-AT-linux-foundation.org>, David Hildenbrand <david-AT-kernel.org>, Oscar Salvador <osalvador-AT-suse.de>, Muchun Song <muchun.song-AT-linux.dev>, <linux-mm-AT-kvack.org> |
| Subject: |
| [PATCH mm-new 0/3] mm: accelerate gigantic folio allocation |
| Date: |
| Sat, 10 Jan 2026 12:21:08 +0800 |
| Message-ID: |
| <20260110042111.1541894-1-wangkefeng.wang@huawei.com> |
| Cc: |
| <sidhartha.kumar-AT-oracle.com>, <jane.chu-AT-oracle.com>, Zi Yan <ziy-AT-nvidia.com>, Vlastimil Babka <vbabka-AT-suse.cz>, Brendan Jackman <jackmanb-AT-google.com>, Johannes Weiner <hannes-AT-cmpxchg.org>, Matthew Wilcox <willy-AT-infradead.org>, Kefeng Wang <wangkefeng.wang-AT-huawei.com> |
| Archive-link: |
| Article |
Optimize pfn_range_valid_contig() and replace_free_hugepage_folios() in
alloc_contig_frozen_pages() to speed up gigantic folio allocation. The
allocation time for 120×1G folios drops from 3.605s to 0.431s.
---
This is part of [patch v2 0/8] mm: hugetlb: allocate frozen gigantic folio[1],
and as suggested by David[2], reuses some logic from the has_unmovable_pages().
[1] https://lore.kernel.org/linux-mm/20250918132000.1951232-1...
[2] https://lore.kernel.org/linux-mm/17bd2977-6a04-402f-ae84-...
Kefeng Wang (3):
mm: page_alloc: optimize pfn_range_valid_contig()
mm: hugetlb: optimize replace_free_hugepage_folios()
mm: hugetlb_cma: optimize hugetlb_cma_alloc_frozen_folio()
include/linux/page-isolation.h | 2 +
mm/hugetlb.c | 53 +++++++---
mm/hugetlb_cma.c | 5 +-
mm/page_alloc.c | 25 ++---
mm/page_isolation.c | 187 +++++++++++++++++----------------
5 files changed, 154 insertions(+), 118 deletions(-)
--
2.27.0