[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <1471521929-9207-1-git-send-email-xieyisheng1@huawei.com>
Date: Thu, 18 Aug 2016 20:05:29 +0800
From: Xie Yisheng <xieyisheng1@...wei.com>
To: <akpm@...ux-foundation.org>
CC: <guohanjun@...wei.com>, <linux-mm@...ck.org>,
<linux-kernel@...r.kernel.org>
Subject: [RFC PATCH] arm64/hugetlb enable gigantic hugepage
As we know, arm64 also support gigantic hugepage eg. 1G.
So I try to use this function by adding hugepagesz=1G
in kernel parameters, with CONFIG_CMA=y.
However, when:
echo xx > /sys/kernel/mm/hugepages/hugepages-1048576kB/
nr_hugepages
it failed with the info:
-bash: echo: write error: Invalid argument
This patch make gigantic hugepage can be used on arm64,
when CONFIG_CMA=y or other related configs is enable.
Signed-off-by: Xie Yisheng <xieyisheng1@...wei.com>
---
mm/hugetlb.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/mm/hugetlb.c b/mm/hugetlb.c
index 87e11d8..b4d8048 100644
--- a/mm/hugetlb.c
+++ b/mm/hugetlb.c
@@ -1022,7 +1022,8 @@ static int hstate_next_node_to_free(struct hstate *h, nodemask_t *nodes_allowed)
((node = hstate_next_node_to_free(hs, mask)) || 1); \
nr_nodes--)
-#if (defined(CONFIG_X86_64) || defined(CONFIG_S390)) && \
+#if (defined(CONFIG_X86_64) || defined(CONFIG_S390) || \
+ defined(CONFIG_ARM64)) && \
((defined(CONFIG_MEMORY_ISOLATION) && defined(CONFIG_COMPACTION)) || \
defined(CONFIG_CMA))
static void destroy_compound_gigantic_page(struct page *page,
--
1.7.12.4
Powered by blists - more mailing lists