Patch "sparc64: Register hugepages during arch init" has been added to the 4.12-stable tree
Subsystems (2)
This is a note to let you know that I've just added the patch titled
sparc64: Register hugepages during arch init
to the 4.12-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
The filename of the patch is:
sparc64-register-hugepages-during-arch-init.patch
and it can be found in the queue-4.12 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.
Quoted 1 line
From foo@baz Tue Aug 8 16:28:31 PDT 2017
From: Nitin Gupta <[email protected]>
Date: Wed, 19 Jul 2017 17:12:54 -0700
Subject: sparc64: Register hugepages during arch init
From: Nitin Gupta <[email protected]>
[ Upstream commit 8399e4b88a93fc7bc00fff3b8da9b2e718b7f45e ]
Add hstate for each supported hugepage size using
arch initcall. This change fixes some hugepage
parameter parsing inconsistencies:
case 1: no hugepage parameters
Without hugepage parameters, only a hugepages-8192kB entry is visible in sysfs. It's different from x86_64 where both 2M and 1G hugepage sizes are available.
case 2: default_hugepagesz=[64K|256M|2G]
When specifying only a default_hugepagesz parameter, the default hugepage size isn't really changed and it stays at 8M. This is again different from x86_64.
Orabug: 25869946
--- arch/sparc/mm/init_64.c | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-)
arch/sparc/mm/init_64.c +24 -1
@@ -325,6 +325,29 @@ static void __update_mmu_tsb_insert(stru }#ifdef CONFIG_HUGETLB_PAGE +static void __init add_huge_page_size (unsigned long size) +{ +unsigned int order; + +if (size_to_hstate (size)) +return ; + + order =ilog2 (size) -PAGE_SHIFT ; +hugetlb_add_hstate (order); +} + +static int __init hugetlbpage_init (void ) +{ +add_huge_page_size (1UL <<HPAGE_64K_SHIFT ); +add_huge_page_size (1UL <<HPAGE_SHIFT ); +add_huge_page_size (1UL <<HPAGE_256MB_SHIFT ); +add_huge_page_size (1UL <<HPAGE_2GB_SHIFT ); + +return 0 ; +} + +arch_initcall (hugetlbpage_init); +static int __init setup_hugepagesz (char *string) {unsigned long long hugepage_size;
@@ -364,7 +387,7 @@ static int __init setup_hugepagesz(char goto out; } -hugetlb_add_hstate (hugepage_shift -PAGE_SHIFT ); +add_huge_page_size (hugepage_size); rc =1 ; out:
Patches currently in stable-queue which might be from [email protected] are
queue-4.12/sparc64-register-hugepages-during-arch-init.patch