All of lore.kernel.org
 help / color / mirror / Atom feed
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.


  parent reply	other threads:[~2010-12-22  8:37 UTC|newest]

Thread overview: 41+ 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     ` [Xen-devel] " Ian Campbell
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       ` Jeremy Fitzhardinge
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   ` [Xen-devel] " Ian Campbell
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 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.