sparc64: Add 16GB hugepage support
Adds support for 16GB hugepage size. To use this page size use kernel parameters as: default_hugepagesz=16G hugepagesz=16G hugepages=10 Testing: Tested with the stream benchmark which allocates 48G of arrays backed by 16G hugepages and does RW operation on them in parallel. Orabug: 25362942 Cc: Anthony Yznaga <anthony.yznaga@oracle.com> Reviewed-by: Bob Picco <bob.picco@oracle.com> Signed-off-by: Nitin Gupta <nitin.m.gupta@oracle.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:

committed by
David S. Miller

parent
44382b0195
commit
df7b2155bb
@@ -893,7 +893,6 @@ sparc64_boot_end:
|
||||
#include "misctrap.S"
|
||||
#include "syscalls.S"
|
||||
#include "helpers.S"
|
||||
#include "hvcalls.S"
|
||||
#include "sun4v_tlb_miss.S"
|
||||
#include "sun4v_ivec.S"
|
||||
#include "ktlb.S"
|
||||
@@ -938,6 +937,7 @@ swapper_4m_tsb:
|
||||
|
||||
! 0x0000000000428000
|
||||
|
||||
#include "hvcalls.S"
|
||||
#include "systbls_64.S"
|
||||
|
||||
.data
|
||||
|
@@ -117,7 +117,7 @@ tsb_miss_page_table_walk_sun4v_fastpath:
|
||||
/* Valid PTE is now in %g5. */
|
||||
|
||||
#if defined(CONFIG_HUGETLB_PAGE) || defined(CONFIG_TRANSPARENT_HUGEPAGE)
|
||||
sethi %uhi(_PAGE_PMD_HUGE), %g7
|
||||
sethi %uhi(_PAGE_PMD_HUGE | _PAGE_PUD_HUGE), %g7
|
||||
sllx %g7, 32, %g7
|
||||
|
||||
andcc %g5, %g7, %g0
|
||||
|
@@ -154,6 +154,11 @@ SECTIONS
|
||||
*(.get_tick_patch)
|
||||
__get_tick_patch_end = .;
|
||||
}
|
||||
.pud_huge_patch : {
|
||||
__pud_huge_patch = .;
|
||||
*(.pud_huge_patch)
|
||||
__pud_huge_patch_end = .;
|
||||
}
|
||||
PERCPU_SECTION(SMP_CACHE_BYTES)
|
||||
|
||||
#ifdef CONFIG_JUMP_LABEL
|
||||
|
Reference in New Issue
Block a user