diff options
author | Anton Blanchard <anton@samba.org> | 2016-10-01 20:41:56 +1000 |
---|---|---|
committer | Michael Ellerman <mpe@ellerman.id.au> | 2016-11-14 11:11:51 +1100 |
commit | 5246adec59458b5d325b8e1462ea9ef3ead7f6ae (patch) | |
tree | efb962662f83e50bb5eab32a249f8938e57f5974 /arch/powerpc/include/asm/hvcall.h | |
parent | 9e607f72748ddc5620aeeb8d1f32f30c79b360b9 (diff) | |
download | op-kernel-dev-5246adec59458b5d325b8e1462ea9ef3ead7f6ae.zip op-kernel-dev-5246adec59458b5d325b8e1462ea9ef3ead7f6ae.tar.gz |
powerpc/pseries: Use H_CLEAR_HPT to clear MMU hash table during kexec
An hcall was recently added that does exactly what we need during kexec
- it clears the entire MMU hash table, ignoring any VRMA mappings.
Try it and fall back to the old method if we get a failure.
On a POWER8 box with 5TB of memory, this reduces the time it takes to
kexec a new kernel from from 4 minutes to 1 minute.
Signed-off-by: Anton Blanchard <anton@samba.org>
Tested-by: Mahesh Salgaonkar <mahesh@linux.vnet.ibm.com>
[mpe: Split into separate functions and tweak function naming]
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Diffstat (limited to 'arch/powerpc/include/asm/hvcall.h')
-rw-r--r-- | arch/powerpc/include/asm/hvcall.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/arch/powerpc/include/asm/hvcall.h b/arch/powerpc/include/asm/hvcall.h index 708edeb..489748e 100644 --- a/arch/powerpc/include/asm/hvcall.h +++ b/arch/powerpc/include/asm/hvcall.h @@ -275,7 +275,8 @@ #define H_COP 0x304 #define H_GET_MPP_X 0x314 #define H_SET_MODE 0x31C -#define MAX_HCALL_OPCODE H_SET_MODE +#define H_CLEAR_HPT 0x358 +#define MAX_HCALL_OPCODE H_CLEAR_HPT /* H_VIOCTL functions */ #define H_GET_VIOA_DUMP_SIZE 0x01 |