[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20251225082059.1632-4-lizhe.67@bytedance.com>
Date: Thu, 25 Dec 2025 16:20:54 +0800
From: 李喆 <lizhe.67@...edance.com>
To: <muchun.song@...ux.dev>, <osalvador@...e.de>, <david@...nel.org>,
<akpm@...ux-foundation.org>, <fvdl@...gle.com>
Cc: <linux-mm@...ck.org>, <linux-kernel@...r.kernel.org>,
<lizhe.67@...edance.com>
Subject: [PATCH 3/8] mm/hugetlb: move the huge folio to the end of the list during enqueue
From: Li Zhe <lizhe.67@...edance.com>
For the huge-folio free list, unzeroed huge folios are now inserted at
the tail; a follow-on patch will place pre-zeroed ones at the head, so
that allocations can obtain a pre-zeroed huge folio with minimal
search. Also, placing newly zeroed pages at the head of the queue so
they're chosen first in the next allocation helps keep the cache hot.
Signed-off-by: Li Zhe <lizhe.67@...edance.com>
---
mm/hugetlb.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/mm/hugetlb.c b/mm/hugetlb.c
index 63f9369789b5..8d36487659f8 100644
--- a/mm/hugetlb.c
+++ b/mm/hugetlb.c
@@ -1312,7 +1312,7 @@ static void enqueue_hugetlb_folio(struct hstate *h, struct folio *folio)
VM_BUG_ON_FOLIO(folio_ref_count(folio), folio);
VM_WARN_ON_FOLIO(folio_test_hugetlb_zeroing(folio), folio);
- list_move(&folio->lru, &h->hugepage_freelists[nid]);
+ list_move_tail(&folio->lru, &h->hugepage_freelists[nid]);
h->free_huge_pages++;
h->free_huge_pages_node[nid]++;
prep_clear_zeroed(folio);
--
2.20.1
Powered by blists - more mailing lists