]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
powerpc/kexec: Speedup kexec hash PTE tear down
authorMichael Neuling <mikey@neuling.org>
Mon, 10 May 2010 20:28:26 +0000 (20:28 +0000)
committerWilly Tarreau <w@1wt.eu>
Sat, 30 Apr 2011 14:53:13 +0000 (16:53 +0200)
commit3ab0ecbb3ff75f2730e6b333472f25a318eca7ea
treeb613a6713a656ab0a0508051c3cfa0cbf12660ca
parent6c7f1a4b53d648f818490155d4ee13e85a9ccd31
powerpc/kexec: Speedup kexec hash PTE tear down

commit d504bed676caad29a3dba3d3727298c560628f5c upstream.

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>
Signed-off-by: Kamalesh babulal <kamalesh@linux.vnet.ibm.com>
cc: Anton Blanchard <anton@samba.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
arch/powerpc/platforms/pseries/lpar.c