Subject: Re: [PATCH] s390: Add pmd_mknotpresent()

From: Ingo Molnar <[email-masked]>
Date: Mon, 29 Oct 2012 12:05:19 +0100

* Martin Schwidefsky <[email-masked]> wrote:

> On Sun, 28 Oct 2012 14:10:14 +0100
> Ingo Molnar <[email-masked]> wrote:
> 
> > 
> > There's a related problem on s390: other THP implementations 
> > have pmd_mknotpresent() while s390 not, resulting in:
> > 
> >   mm/huge_memory.c:1543:2: error: implicit declaration of function 'pmd_mknotpresent'
> > 
> > The (untested!) patch below adds the s390 version of this 
> > method.
> > 
> > Gerald, Martin, did I get the S390 details right?
> 
> This won't work I'm afraid. S390 uses invalid bits which need 
> to be set to make an entry not present. Just setting the 
> _SEGMENT_ENTRY_INV bit is not good enough either, there is 
> _HPAGE_TYPE_NONE to consider. The patch to fix this for 
> pmd_none & pmd_present just got added to the s390 tree on 
> kernel.org:
>
> https://git.kernel.org/?p=linux/kernel/git/s390/linux.git;a=shortlog;h=refs/heads/fixes
> 
> Now, if pmd_mknotpresent is supposed to make the entry invalid 
> so that pmd_present will return false the function needs to do 
> two things, 1) set the _SEGMENT_ENTRY_INV bit, and 2) clear 
> the _SEGMENT_ENTRY_RO bit.

Would be nice if you could send me your suggested 
pmd_mknotpresent().

(Writing it into the email would be enough, I can turn it into a 
patch - but a patch would be welcome as well.)

Thanks,

	Ingo