lkml.org 
[lkml]   [2020]   [Nov]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
From
Subject[PATCH v4 21/21] mm/hugetlb: Disable freeing vmemmap if struct page size is not power of two
Date
We only can free the unused vmemmap to the buddy system when the
size of struct page is a power of two.

Signed-off-by: Muchun Song <songmuchun@bytedance.com>
---
mm/hugetlb_vmemmap.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/mm/hugetlb_vmemmap.c b/mm/hugetlb_vmemmap.c
index f67aec6e3bb1..a0a5df9dba6b 100644
--- a/mm/hugetlb_vmemmap.c
+++ b/mm/hugetlb_vmemmap.c
@@ -635,7 +635,8 @@ void __init hugetlb_vmemmap_init(struct hstate *h)
unsigned int order = huge_page_order(h);
unsigned int vmemmap_pages;

- if (hugetlb_free_vmemmap_disabled) {
+ if (hugetlb_free_vmemmap_disabled ||
+ !is_power_of_2(sizeof(struct page))) {
h->nr_free_vmemmap_pages = 0;
pr_info("disable free vmemmap pages for %s\n", h->name);
return;
--
2.11.0
\
 
 \ /
  Last update: 2020-11-13 12:15    [W:0.206 / U:2.132 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site