From: Ian Campbell <Ian.Campbell@citrix.com>
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Cc: "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
"jeremy@goop.org" <jeremy@goop.org>,
"hpa@zytor.com" <hpa@zytor.com>,
Konrad Rzeszutek Wilk <konrad@kernel.org>,
"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
Jan Beulich <JBeulich@novell.com>
Subject: Re: [Xen-devel] [RFC PATCH v1] Consider void entries in the P2M as 1-1 mapping.
Date: Wed, 22 Dec 2010 08:36:55 +0000 [thread overview]
Message-ID: <1293007015.3998.25.camel@localhost.localdomain> (raw)
In-Reply-To: <1292967460-15709-1-git-send-email-konrad.wilk@oracle.com>
On Tue, 2010-12-21 at 21:37 +0000, Konrad Rzeszutek Wilk wrote:
> In the past we used to think of those regions as "missing" and under
> the ownership of the balloon code. But the balloon code only operates
> on a specific region. This region is in lastE820 RAM page (basically
> any region past nr_pages is considered balloon type page).
That is true at start of day but once the system is up and running the
balloon driver can make a hole for anything which can be returned by
alloc_page.
The following descriptions seem to consider this correctly but I just
wanted to clarify.
I don't think it's necessarily the last E820 RAM page either, that's
just what the tools today happen to build. In principal the tools could
push down a holey e820 (e.g. with PCI holes prepunched etc) and boot the
domain ballooned down such that the N-2, N-3 e820 RAM regions are above
nr_pages too.
> This patchset considers the void entries as "identity" and for balloon
> pages you have to set the PFNs to be "missing". This means that the
> void entries are now considered 1-1, so for PFNs which exist in large
> gaps of the P2M space will return the same PFN.
I would naively have expected that a missing entry indicated an
invalid/missing entry rather than an identity region, it just seems like
the safer default since we are (maybe) more likely to catch an
INVALID_P2M_ENTRY before handing it to the hypervisor and getting
ourselves shot.
In that case the identity regions would need to be explicitly
registered, is that harder to do?
I guess we could register any hole or explicit non-RAM region in the
e820 as identity but do we sometimes see I/O memory above the top of the
e820 or is there some other problem I'm not thinking of?
> The xen/mmu.c code where it deals with _PAGE_IOMAP can be removed, but
> to guard against regressions or bugs lets take it one patchset at a
> time.
Could we have a WARN_ON(_PAGE_IOMAP && !PAGE_IDENTITY) (or whatever the
predicates really are) in some relevant places in mmu.c?
Ian.
next prev parent reply other threads:[~2010-12-22 8:36 UTC|newest]
Thread overview: 38+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-12-21 21:37 [RFC PATCH v1] Consider void entries in the P2M as 1-1 mapping Konrad Rzeszutek Wilk
2010-12-21 21:37 ` [PATCH 01/10] xen: Make all reserved pages for the balloon be INVALID_P2M_ENTRY Konrad Rzeszutek Wilk
2010-12-21 22:19 ` Jeremy Fitzhardinge
2010-12-21 23:22 ` H. Peter Anvin
2010-12-22 8:47 ` Ian Campbell
2010-12-22 14:53 ` Konrad Rzeszutek Wilk
2010-12-22 15:46 ` Jeremy Fitzhardinge
2010-12-21 21:37 ` [PATCH 02/10] xen/p2m: change p2m_missing_* to p2m_identity_* Konrad Rzeszutek Wilk
2010-12-21 22:41 ` Jeremy Fitzhardinge
2010-12-22 14:59 ` Konrad Rzeszutek Wilk
2010-12-22 20:36 ` [SPAM] " Jeremy Fitzhardinge
2010-12-21 21:37 ` [PATCH 03/10] xen/mmu: Add the notion of IDENTITY_P2M_ENTRY Konrad Rzeszutek Wilk
2010-12-22 8:44 ` Ian Campbell
2010-12-21 21:37 ` [PATCH 04/10] xen/mmu: For 1-1 mapping, automatically set _PAGE_IOMAP Konrad Rzeszutek Wilk
2010-12-21 22:29 ` Jeremy Fitzhardinge
2010-12-22 15:02 ` Konrad Rzeszutek Wilk
2010-12-22 16:27 ` [Xen-devel] " Ian Campbell
2010-12-21 21:37 ` [PATCH 05/10] xen/setup: Set identity mapping for non-RAM E820 and E820 gaps Konrad Rzeszutek Wilk
2010-12-21 22:34 ` Jeremy Fitzhardinge
2010-12-22 15:04 ` Konrad Rzeszutek Wilk
2010-12-22 8:49 ` [Xen-devel] " Ian Campbell
2010-12-21 21:37 ` [PATCH 06/10] xen/setup: Only set identity mapping in E820 regions when privileged Konrad Rzeszutek Wilk
2010-12-21 22:37 ` Jeremy Fitzhardinge
2010-12-22 15:07 ` Konrad Rzeszutek Wilk
2010-12-21 21:37 ` [PATCH 07/10] xen/mmu: Work with 1-1 mappings when allocating new top/middle entries Konrad Rzeszutek Wilk
2010-12-21 22:37 ` Jeremy Fitzhardinge
2010-12-22 15:10 ` Konrad Rzeszutek Wilk
2010-12-22 8:54 ` [Xen-devel] " Ian Campbell
2010-12-22 17:47 ` Konrad Rzeszutek Wilk
2010-12-21 21:37 ` [PATCH 08/10] xen/mmu: Bugfix. Fill the top entry page with appropriate middle layer pointers Konrad Rzeszutek Wilk
2010-12-21 22:38 ` Jeremy Fitzhardinge
2010-12-22 15:11 ` Konrad Rzeszutek Wilk
2010-12-21 21:37 ` [PATCH 09/10] xen/mmu: Be aware of p2m_[mid_|]missing when saving/restore Konrad Rzeszutek Wilk
2010-12-21 21:37 ` [PATCH 10/10] xen/mmu: Warn against races Konrad Rzeszutek Wilk
2010-12-22 8:36 ` Ian Campbell [this message]
2010-12-22 15:06 ` [Xen-devel] [RFC PATCH v1] Consider void entries in the P2M as 1-1 mapping Konrad Rzeszutek Wilk
2010-12-22 16:26 ` Ian Campbell
2010-12-22 18:01 ` Konrad Rzeszutek Wilk
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=1293007015.3998.25.camel@localhost.localdomain \
--to=ian.campbell@citrix.com \
--cc=JBeulich@novell.com \
--cc=hpa@zytor.com \
--cc=jeremy@goop.org \
--cc=konrad.wilk@oracle.com \
--cc=konrad@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=xen-devel@lists.xensource.com \
/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).