Thread (18 messages) 18 messages, 7 authors, 2007-05-29

Re: [Patch 2/2] Kexec/Kdump support - POWER6

From: Olof Johansson <hidden>
Date: 2007-05-24 14:17:05
Also in: kexec

On Thu, May 24, 2007 at 05:47:51PM +0530, Mohan Kumar M wrote:
On Wed, May 23, 2007 at 08:55:00PM +1000, Paul Mackerras wrote:
quoted
Sachin P. Sant writes:
quoted
On Power machines supporting VRMA, Kexec/Kdump does not work.
Hypervisor stores VRMA mapping used by the OS, in the hpte hash
tables. Make sure these hpte entries are left untouched.
Surely all we need to do is to avoid clearing the VRMA entries.  We
can do this by not clearing any HPTE where the top 40 bits of the
first dword are 0x4001ffffff (B=1 for a 1TB segment and the
0x0001ffffff special VSID).  In fact we can avoid having to read each
entry by doing the H_REMOVEs with H_ANDCOND and the bolted bit when we
clear the hash table, and only reading the HPTEs for which the
H_REMOVE returns an error.
So I tried 0x4000000000000000 as AVPN parameter and using that it
removes all hpte entries other than VRMA(ie non 1TB segment size PTE
entries).

Tested on POWER6/POWER5 machines.
Hi,

As Paul says above, you need to check for failures and compare the VSID
and possibly unhash it anyway in case of non-match. Otherwise if the
kernel ever starts using 1TB segments for regular use, those pages will
never be unhashed. I don't see your code doing that now.


-Olof
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help