diff options
author | Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com> | 2017-03-22 04:36:59 +0100 |
---|---|---|
committer | Michael Ellerman <mpe@ellerman.id.au> | 2017-04-01 12:12:27 +0200 |
commit | bb1832217a859f6dbe4a45ff2ba7fdcab0bb3958 (patch) | |
tree | c69f520be8c0f319fdef84b867eb6ab8944198d8 /arch/powerpc/mm/slb_low.S | |
parent | powerpc/mm: Add addr_limit to mm_context and use it to derive max slice index (diff) | |
download | linux-bb1832217a859f6dbe4a45ff2ba7fdcab0bb3958.tar.xz linux-bb1832217a859f6dbe4a45ff2ba7fdcab0bb3958.zip |
powerpc/mm/hash: Store addr_limit in PACA
We optmize the slice page size array copy to paca by copying only the
range based on addr_limit. This will require us to not look at page size
array beyond addr_limit in PACA on slb fault. To enable that copy task
size to paca which will be used during slb fault.
Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
[mpe: Rename from task_size to addr_limit, consolidate #ifdefs]
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Diffstat (limited to 'arch/powerpc/mm/slb_low.S')
-rw-r--r-- | arch/powerpc/mm/slb_low.S | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/arch/powerpc/mm/slb_low.S b/arch/powerpc/mm/slb_low.S index 1c503d07e0fb..1519617aab36 100644 --- a/arch/powerpc/mm/slb_low.S +++ b/arch/powerpc/mm/slb_low.S @@ -149,7 +149,13 @@ END_MMU_FTR_SECTION_IFCLR(MMU_FTR_1T_SEGMENT) * For userspace addresses, make sure this is region 0. */ cmpdi r9, 0 - bne 8f + bne- 8f + /* + * user space make sure we are within the allowed limit + */ + ld r11,PACA_ADDR_LIMIT(r13) + cmpld r3,r11 + bge- 8f /* when using slices, we extract the psize off the slice bitmaps * and then we need to get the sllp encoding off the mmu_psize_defs |