linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 1/2] mm: shmem: avoid allocating huge pages larger than MAX_PAGECACHE_ORDER for shmem
@ 2024-07-31  5:46 Baolin Wang
  2024-07-31  5:46 ` [PATCH 2/2] mm: shmem: fix incorrect aligned index when checking conflicts Baolin Wang
                   ` (3 more replies)
  0 siblings, 4 replies; 13+ messages in thread
From: Baolin Wang @ 2024-07-31  5:46 UTC (permalink / raw)
  To: akpm, hughd
  Cc: willy, david, 21cnbao, ryan.roberts, ziy, gshan, ioworker0,
	baolin.wang, linux-mm, linux-kernel

Similar to commit d659b715e94ac ("mm/huge_memory: avoid PMD-size page cache
if needed"), ARM64 can support 512MB PMD-sized THP when the base page size is
64KB, which is larger than the maximum supported page cache size MAX_PAGECACHE_ORDER.
This is not expected. To fix this issue, use THP_ORDERS_ALL_FILE_DEFAULT for
shmem to filter allowable huge orders.

Fixes: e7a2ab7b3bb5 ("mm: shmem: add mTHP support for anonymous shmem")
Signed-off-by: Baolin Wang <baolin.wang@linux.alibaba.com>
---
 mm/shmem.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/mm/shmem.c b/mm/shmem.c
index 2faa9daaf54b..a4332a97558c 100644
--- a/mm/shmem.c
+++ b/mm/shmem.c
@@ -1630,10 +1630,10 @@ unsigned long shmem_allowable_huge_orders(struct inode *inode,
 	unsigned long within_size_orders = READ_ONCE(huge_shmem_orders_within_size);
 	unsigned long vm_flags = vma->vm_flags;
 	/*
-	 * Check all the (large) orders below HPAGE_PMD_ORDER + 1 that
+	 * Check all the (large) orders below MAX_PAGECACHE_ORDER + 1 that
 	 * are enabled for this vma.
 	 */
-	unsigned long orders = BIT(PMD_ORDER + 1) - 1;
+	unsigned long orders = THP_ORDERS_ALL_FILE_DEFAULT;
 	loff_t i_size;
 	int order;
 
-- 
2.39.3



^ permalink raw reply related	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2024-08-02  3:11 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-07-31  5:46 [PATCH 1/2] mm: shmem: avoid allocating huge pages larger than MAX_PAGECACHE_ORDER for shmem Baolin Wang
2024-07-31  5:46 ` [PATCH 2/2] mm: shmem: fix incorrect aligned index when checking conflicts Baolin Wang
2024-07-31  9:18   ` David Hildenbrand
2024-07-31  6:18 ` [PATCH 1/2] mm: shmem: avoid allocating huge pages larger than MAX_PAGECACHE_ORDER for shmem Barry Song
2024-07-31  8:56   ` Baolin Wang
2024-07-31  9:59     ` Kefeng Wang
2024-07-31 10:22       ` Baolin Wang
2024-07-31 20:48         ` Andrew Morton
2024-08-01  0:06           ` Baolin Wang
2024-08-01 19:55             ` Andrew Morton
2024-08-02  3:11               ` Baolin Wang
2024-07-31  9:17 ` David Hildenbrand
2024-07-31 13:09 ` Zi Yan

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).