summaryrefslogtreecommitdiffstats
path: root/arch/powerpc/kernel/machine_kexec_64.c
diff options
context:
space:
mode:
authorMichael Neuling2010-05-10 22:28:26 +0200
committerBenjamin Herrenschmidt2010-05-21 09:31:11 +0200
commitd504bed676caad29a3dba3d3727298c560628f5c (patch)
treeea7077d57b3e3018dc6be5b8687889283ba3f6e6 /arch/powerpc/kernel/machine_kexec_64.c
parentpowerpc/pseries: Add hcall to read 4 ptes at a time in real mode (diff)
downloadkernel-qcow2-linux-d504bed676caad29a3dba3d3727298c560628f5c.tar.gz
kernel-qcow2-linux-d504bed676caad29a3dba3d3727298c560628f5c.tar.xz
kernel-qcow2-linux-d504bed676caad29a3dba3d3727298c560628f5c.zip
powerpc/kexec: Speedup kexec hash PTE tear down
Currently for kexec the PTE tear down on 1TB segment systems normally requires 3 hcalls for each PTE removal. On a machine with 32GB of memory it can take around a minute to remove all the PTEs. This optimises the path so that we only remove PTEs that are valid. It also uses the read 4 PTEs at once HCALL. For the common case where a PTEs is invalid in a 1TB segment, this turns the 3 HCALLs per PTE down to 1 HCALL per 4 PTEs. This gives an > 10x speedup in kexec times on PHYP, taking a 32GB machine from around 1 minute down to a few seconds. Signed-off-by: Michael Neuling <mikey@neuling.org> Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Diffstat (limited to 'arch/powerpc/kernel/machine_kexec_64.c')
0 files changed, 0 insertions, 0 deletions