提交 1b6b9d62 编写于 作者: D David S. Miller

sparc64: Increase vmalloc size to fix percpu regressions.

Since we now use the embedding percpu allocator we have to make the
vmalloc area at least as large as the stretch can be between nodes.

Besides some minor asm adjustments, this turned out to be pretty
trivial.
Signed-off-by: NDavid S. Miller <davem@davemloft.net>
上级 01552f76
...@@ -41,8 +41,8 @@ ...@@ -41,8 +41,8 @@
#define LOW_OBP_ADDRESS _AC(0x00000000f0000000,UL) #define LOW_OBP_ADDRESS _AC(0x00000000f0000000,UL)
#define HI_OBP_ADDRESS _AC(0x0000000100000000,UL) #define HI_OBP_ADDRESS _AC(0x0000000100000000,UL)
#define VMALLOC_START _AC(0x0000000100000000,UL) #define VMALLOC_START _AC(0x0000000100000000,UL)
#define VMALLOC_END _AC(0x0000000200000000,UL) #define VMALLOC_END _AC(0x0000010000000000,UL)
#define VMEMMAP_BASE _AC(0x0000000200000000,UL) #define VMEMMAP_BASE _AC(0x0000010000000000,UL)
#define vmemmap ((struct page *)VMEMMAP_BASE) #define vmemmap ((struct page *)VMEMMAP_BASE)
......
...@@ -280,8 +280,8 @@ kvmap_dtlb_nonlinear: ...@@ -280,8 +280,8 @@ kvmap_dtlb_nonlinear:
#ifdef CONFIG_SPARSEMEM_VMEMMAP #ifdef CONFIG_SPARSEMEM_VMEMMAP
/* Do not use the TSB for vmemmap. */ /* Do not use the TSB for vmemmap. */
mov (VMEMMAP_BASE >> 24), %g5 mov (VMEMMAP_BASE >> 40), %g5
sllx %g5, 24, %g5 sllx %g5, 40, %g5
cmp %g4,%g5 cmp %g4,%g5
bgeu,pn %xcc, kvmap_vmemmap bgeu,pn %xcc, kvmap_vmemmap
nop nop
...@@ -293,8 +293,8 @@ kvmap_dtlb_tsbmiss: ...@@ -293,8 +293,8 @@ kvmap_dtlb_tsbmiss:
sethi %hi(MODULES_VADDR), %g5 sethi %hi(MODULES_VADDR), %g5
cmp %g4, %g5 cmp %g4, %g5
blu,pn %xcc, kvmap_dtlb_longpath blu,pn %xcc, kvmap_dtlb_longpath
mov (VMALLOC_END >> 24), %g5 mov (VMALLOC_END >> 40), %g5
sllx %g5, 24, %g5 sllx %g5, 40, %g5
cmp %g4, %g5 cmp %g4, %g5
bgeu,pn %xcc, kvmap_dtlb_longpath bgeu,pn %xcc, kvmap_dtlb_longpath
nop nop
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册