|
|
Log in / Subscribe / Register

mm: accelerate gigantic folio allocation

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




Copyright © 2026, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds