All of lore.kernel.org
 help / color / mirror / Atom feed
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Jeremy Fitzhardinge <jeremy@goop.org>
Cc: linux-kernel@vger.kernel.org, hpa@zytor.com,
	Jan Beulich <JBeulich@novell.com>,
	xen-devel@lists.xensource.com,
	Konrad Rzeszutek Wilk <konrad@kernel.org>
Subject: Re: [PATCH 01/10] xen: Make all reserved pages for the balloon be INVALID_P2M_ENTRY.
Date: Wed, 22 Dec 2010 09:53:27 -0500	[thread overview]
Message-ID: <20101222145327.GA1760@dumpdata.com> (raw)
In-Reply-To: <4D1127FC.8060102@goop.org>

On Tue, Dec 21, 2010 at 02:19:40PM -0800, Jeremy Fitzhardinge wrote:
> On 12/21/2010 01:37 PM, Konrad Rzeszutek Wilk wrote:
> > This patch prepares ourselves for the case where void entries in the P2M
> > tree structure do not necessarily imply that the pages are missing.
> > With this, we diligently set regions that will be used by the
> > balloon driver to be INVALID_P2M_ENTRY and under the ownership
> > of the balloon driver.
> >
> > Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
> > ---
> >  arch/x86/xen/setup.c  |    8 ++++++++
> >  drivers/xen/balloon.c |    1 +
> >  2 files changed, 9 insertions(+), 0 deletions(-)
> >
> > diff --git a/arch/x86/xen/setup.c b/arch/x86/xen/setup.c
> > index b5a7f92..d984d36 100644
> > --- a/arch/x86/xen/setup.c
> > +++ b/arch/x86/xen/setup.c
> > @@ -52,6 +52,8 @@ phys_addr_t xen_extra_mem_start, xen_extra_mem_size;
> >  
> >  static __init void xen_add_extra_mem(unsigned long pages)
> >  {
> > +	unsigned long pfn;
> > +
> >  	u64 size = (u64)pages * PAGE_SIZE;
> >  	u64 extra_start = xen_extra_mem_start + xen_extra_mem_size;
> >  
> > @@ -66,6 +68,11 @@ static __init void xen_add_extra_mem(unsigned long pages)
> >  	xen_extra_mem_size += size;
> >  
> >  	xen_max_p2m_pfn = PFN_DOWN(extra_start + size);
> > +
> > +	for (pfn = PFN_DOWN(extra_start); pfn <= xen_max_p2m_pfn; pfn++) {
> > +		BUG_ON(!set_phys_to_machine(pfn, INVALID_P2M_ENTRY));
> 
> Use __set_phys_to_machine where you don't expect (or can't allow) any
> allocation.

Are you OK with me moving then this check:

    if (unlikely(xen_feature(XENFEAT_auto_translated_physmap))) {
                BUG_ON(pfn != mfn && mfn != INVALID_P2M_ENTRY);
                return true;
        }    
from set_phys_to_machine to __set_phys_to_machine?

> 
> Also, I'm not a fan of hiding real side-effectful code in a BUG_ON
> predicate.

Ok. Will expunge these.

  parent reply	other threads:[~2010-12-22 14:53 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 [this message]
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 ` [Xen-devel] [RFC PATCH v1] Consider void entries in the P2M as 1-1 mapping Ian Campbell
2010-12-22 15:06   ` 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=20101222145327.GA1760@dumpdata.com \
    --to=konrad.wilk@oracle.com \
    --cc=JBeulich@novell.com \
    --cc=hpa@zytor.com \
    --cc=jeremy@goop.org \
    --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.