All of lore.kernel.org
 help / color / mirror / Atom feed
From: David Vrabel <david.vrabel@citrix.com>
To: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Cc: boris.ostrovsky@oracle.com, Wei Liu <wei.liu2@citrix.com>,
	ian.campbell@citrix.com, xen-devel@lists.xen.org
Subject: Re: [PATCH] xen: set P2M entry to INVALID_P2M_ENTRY for ballooned out pages
Date: Tue, 27 Aug 2013 14:42:26 +0100	[thread overview]
Message-ID: <521CACC2.2060801@citrix.com> (raw)
In-Reply-To: <alpine.DEB.2.02.1308271422510.6397@kaball.uk.xensource.com>

On 27/08/13 14:34, Stefano Stabellini wrote:
> On Mon, 26 Aug 2013, Wei Liu wrote:
>> On Thu, Aug 22, 2013 at 02:00:05PM +0100, David Vrabel wrote:
>>> On 22/08/13 13:57, Wei Liu wrote:
>>>> In commit cd9151e2: xen/balloon: set a mapping for ballooned out pages
>>>> we have the ballooned out page's mapping set to a scratch page. That commit
>>>> also set the P2M entry of ballooned out page to the scratch, which is
>>>> not necessary. That triggers BUG_ONs in __set_phys_to_machine when the
>>>> page is ballooned in again.
>>>>
>>>> We only need to ensure that the ballooned out pages have valid mapping.
>>>> P2M entries of those pages should still be set to INVALID_P2M_ENTRY.
>>>
>>> I know I suggested this but I would like to get Stefano's acked-by or
>>> reviewed-by for this.
>>>
>>
>> Stefano, what do you think?
> 
> I think it is wrong: if the page has a valid mapping it should also have
> a valid p2m entry. It's easier to think about and it's going to avoid
> bugs when generic linux code ends up calling a pvop that on Xen looks
> into the p2m.

But in the auto_translated physmap case it does /not/ have a valid p2m
entry -- only the virtual mappping....

> Which one of the BUG_ON in __set_phys_to_machine are hit?  We could
> avoid calling set_phys_to_machine in decrease_reservation on
> XENFEAT_auto_translated_physmap guests, that would avoid the first
> BUG_ON in __set_phys_to_machine. Arguably it's the right thing to do
> anyway.

... which makes the suggestion to avoid the __set_phys_to_machine()
calls sensible to me.

> Regarding the second BUG_ON:
> 
> if (unlikely(pfn >= MAX_P2M_PFN)) {
>     BUG_ON(mfn != INVALID_P2M_ENTRY);
>     return true;
> }
> 
> We shouldn't really be hitting it, right? Why is pfn >= MAX_P2M_PFN?

I believe it was the check for pfn == mfn.

David

  reply	other threads:[~2013-08-27 13:42 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-08-22 12:57 [PATCH] xen: set P2M entry to INVALID_P2M_ENTRY for ballooned out pages Wei Liu
2013-08-22 13:00 ` David Vrabel
2013-08-26 16:08   ` Wei Liu
2013-08-27 13:34     ` Stefano Stabellini
2013-08-27 13:42       ` David Vrabel [this message]
2013-08-27 13:44       ` Wei Liu
2013-08-27 14:05         ` Stefano Stabellini

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=521CACC2.2060801@citrix.com \
    --to=david.vrabel@citrix.com \
    --cc=boris.ostrovsky@oracle.com \
    --cc=ian.campbell@citrix.com \
    --cc=stefano.stabellini@eu.citrix.com \
    --cc=wei.liu2@citrix.com \
    --cc=xen-devel@lists.xen.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.