aboutsummaryrefslogtreecommitdiffstats
path: root/arch/sparc/kernel/ktlb.S
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2014-09-27 14:05:21 -0400
committerDavid S. Miller <davem@davemloft.net>2014-10-05 19:53:40 -0400
commitbb4e6e85daa52a9f6210fa06a5ec6269598a202b (patch)
tree4ffffa2e95e5ad28c35762da8d9d7bcafce57052 /arch/sparc/kernel/ktlb.S
parent7c0fa0f24bb76ce3d67be7f737b799846a04570f (diff)
sparc64: Adjust vmalloc region size based upon available virtual address bits.
In order to accomodate embedded per-cpu allocation with large numbers of cpus and numa nodes, we have to use as much virtual address space as possible for the vmalloc region. Otherwise we can get things like: PERCPU: max_distance=0x380001c10000 too large for vmalloc space 0xff00000000 So, once we select a value for PAGE_OFFSET, derive the size of the vmalloc region based upon that. Signed-off-by: David S. Miller <davem@davemloft.net> Acked-by: Bob Picco <bob.picco@oracle.com>
Diffstat (limited to 'arch/sparc/kernel/ktlb.S')
-rw-r--r--arch/sparc/kernel/ktlb.S8
1 files changed, 4 insertions, 4 deletions
diff --git a/arch/sparc/kernel/ktlb.S b/arch/sparc/kernel/ktlb.S
index 2627a7fa33d9..ef0d8e9e1210 100644
--- a/arch/sparc/kernel/ktlb.S
+++ b/arch/sparc/kernel/ktlb.S
@@ -199,8 +199,8 @@ kvmap_dtlb_nonlinear:
199 199
200#ifdef CONFIG_SPARSEMEM_VMEMMAP 200#ifdef CONFIG_SPARSEMEM_VMEMMAP
201 /* Do not use the TSB for vmemmap. */ 201 /* Do not use the TSB for vmemmap. */
202 mov (VMEMMAP_BASE >> 40), %g5 202 sethi %hi(VMEMMAP_BASE), %g5
203 sllx %g5, 40, %g5 203 ldx [%g5 + %lo(VMEMMAP_BASE)], %g5
204 cmp %g4,%g5 204 cmp %g4,%g5
205 bgeu,pn %xcc, kvmap_vmemmap 205 bgeu,pn %xcc, kvmap_vmemmap
206 nop 206 nop
@@ -212,8 +212,8 @@ kvmap_dtlb_tsbmiss:
212 sethi %hi(MODULES_VADDR), %g5 212 sethi %hi(MODULES_VADDR), %g5
213 cmp %g4, %g5 213 cmp %g4, %g5
214 blu,pn %xcc, kvmap_dtlb_longpath 214 blu,pn %xcc, kvmap_dtlb_longpath
215 mov (VMALLOC_END >> 40), %g5 215 sethi %hi(VMALLOC_END), %g5
216 sllx %g5, 40, %g5 216 ldx [%g5 + %lo(VMALLOC_END)], %g5
217 cmp %g4, %g5 217 cmp %g4, %g5
218 bgeu,pn %xcc, kvmap_dtlb_longpath 218 bgeu,pn %xcc, kvmap_dtlb_longpath
219 nop 219 nop