powerpc/pseries: Use H_CLEAR_HPT to clear MMU hash table during kexec
authorAnton Blanchard <anton@samba.org>
Sat, 1 Oct 2016 10:41:56 +0000 (20:41 +1000)
committerMichael Ellerman <mpe@ellerman.id.au>
Mon, 14 Nov 2016 00:11:51 +0000 (11:11 +1100)
commit5246adec59458b5d325b8e1462ea9ef3ead7f6ae
treeefb962662f83e50bb5eab32a249f8938e57f5974
parent9e607f72748ddc5620aeeb8d1f32f30c79b360b9
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>
arch/powerpc/include/asm/hvcall.h
arch/powerpc/platforms/pseries/lpar.c