From: Wei Liu <wei.liu2@citrix.com>
To: xen-devel@lists.xen.org
Cc: Wei Liu <wei.liu2@citrix.com>,
ian.campbell@citrix.com,
Stefano Stabellini <stefano.stabellini@eu.citrix.com>,
david.vrabel@citrix.com, boris.ostrovsky@oracle.com
Subject: [PATCH] xen: set P2M entry to INVALID_P2M_ENTRY for ballooned out pages
Date: Thu, 22 Aug 2013 13:57:28 +0100 [thread overview]
Message-ID: <1377176248-10113-1-git-send-email-wei.liu2@citrix.com> (raw)
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.
Signed-off-by: Wei Liu <wei.liu2@citrix.com>
Cc: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
---
drivers/xen/balloon.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/drivers/xen/balloon.c b/drivers/xen/balloon.c
index a3dc75d..b1a37f3 100644
--- a/drivers/xen/balloon.c
+++ b/drivers/xen/balloon.c
@@ -430,8 +430,7 @@ static enum bp_state decrease_reservation(unsigned long nr_pages, gfp_t gfp)
/* No more mappings: invalidate P2M and add to balloon. */
for (i = 0; i < nr_pages; i++) {
pfn = mfn_to_pfn(frame_list[i]);
- __set_phys_to_machine(pfn,
- pfn_to_mfn(page_to_pfn(__get_cpu_var(balloon_scratch_page))));
+ __set_phys_to_machine(pfn, INVALID_P2M_ENTRY);
balloon_append(pfn_to_page(pfn));
}
--
1.7.10.4
next reply other threads:[~2013-08-22 12:57 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-08-22 12:57 Wei Liu [this message]
2013-08-22 13:00 ` [PATCH] xen: set P2M entry to INVALID_P2M_ENTRY for ballooned out pages David Vrabel
2013-08-26 16:08 ` Wei Liu
2013-08-27 13:34 ` Stefano Stabellini
2013-08-27 13:42 ` David Vrabel
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=1377176248-10113-1-git-send-email-wei.liu2@citrix.com \
--to=wei.liu2@citrix.com \
--cc=boris.ostrovsky@oracle.com \
--cc=david.vrabel@citrix.com \
--cc=ian.campbell@citrix.com \
--cc=stefano.stabellini@eu.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).