WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

RE: [Xen-devel] 2.6.32.27 dom0 + latest xen staging boot failure

To: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
Subject: RE: [Xen-devel] 2.6.32.27 dom0 + latest xen staging boot failure
From: "Kay, Allen M" <allen.m.kay@xxxxxxxxx>
Date: Tue, 15 Feb 2011 19:08:29 -0800
Accept-language: en-US
Acceptlanguage: en-US
Cc: Keir, Jeremy Fitzhardinge <jeremy@xxxxxxxx>, xen-devel <xen-devel@xxxxxxxxxxxxxxxxxxx>, Fraser <keir@xxxxxxx>, Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx>
Delivery-date: Tue, 15 Feb 2011 19:09:26 -0800
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <alpine.DEB.2.00.1102151436510.2826@kaball-desktop>
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
References: <987664A83D2D224EAE907B061CE93D530194305BEA@xxxxxxxxxxxxxxxxxxxxxxxxxxxx> <20110125201008.GA18756@xxxxxxxxxxxx> <987664A83D2D224EAE907B061CE93D53019434A43C@xxxxxxxxxxxxxxxxxxxxxxxxxxxx> <20110126161400.GA3515@xxxxxxxxxxxx> <987664A83D2D224EAE907B061CE93D53019434A8F7@xxxxxxxxxxxxxxxxxxxxxxxxxxxx> <20110126212850.GB3578@xxxxxxxxxxxx> <987664A83D2D224EAE907B061CE93D53019438ECB3@xxxxxxxxxxxxxxxxxxxxxxxxxxxx> <alpine.DEB.2.00.1101271156310.7277@kaball-desktop> <987664A83D2D224EAE907B061CE93D53019438F211@xxxxxxxxxxxxxxxxxxxxxxxxxxxx> <20110128152843.GB29440@xxxxxxxxxxxx> <20110128154754.GA24075@xxxxxxxxxxxx> <987664A83D2D224EAE907B061CE93D53019D2308A0@xxxxxxxxxxxxxxxxxxxxxxxxxxxx> <4D54A547.9060201@xxxxxxxx> <987664A83D2D224EAE907B061CE93D53019D230984@xxxxxxxxxxxxxxxxxxxxxxxxxxxx> <4D556C9E.7040700@xxxxxxxx> <987664A83D2D224EAE907B061CE93D53019D3E7EAA@xxxxxxxxxxxxxxxxxxxxxxxxxxxx> <alpine.DEB.2.00.1102151436510.2826@kaball-desktop>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
Thread-index: AcvNIL59E8PSpI+UTWqp9h047OLV7gAZRVqg
Thread-topic: [Xen-devel] 2.6.32.27 dom0 + latest xen staging boot failure
Setting max_pfn_mapped here has no effect.  It still fails the same way.

Later on in setup_arch(), max_pfn_mapped is set to max_lower_pfn_mapped.  For 
64 bit dom0, it will try to set it again for memory above 4GB by calling 
init_memory_mapping(1UL<<32, max_pfn<<PAGE_SHIFT) - this is where it eventually 
fails.

The problem is max_pfn also contains non-RAM extra memory.  Should max_pfn set 
to xen_low_pfn_mapped before calling init_memory_mapping for memory above 4GB?

Allen 

-----Original Message-----
From: Stefano Stabellini [mailto:stefano.stabellini@xxxxxxxxxxxxx] 
Sent: Tuesday, February 15, 2011 6:58 AM
To: Kay, Allen M
Cc: Jeremy Fitzhardinge; Konrad Rzeszutek Wilk; Stefano Stabellini; xen-devel; 
Keir Fraser
Subject: RE: [Xen-devel] 2.6.32.27 dom0 + latest xen staging boot failure

On Tue, 15 Feb 2011, Kay, Allen M wrote:
> The failure occurs when dom0 tries to pin an l1 table entry because L1 table 
> entry for the failed address is garbage.  The memory range being pinned is in 
> the range of this extra balloon driver memory not backed by real RAM.  Is 
> this intended?
> 

The pfn in question is returned by alloc_low_page and is equal to
e820_table_end, that should fall into the range
e820_table_start-e820_table_top.
This range is allocated by find_early_table_space in the initial
pagetable mappings between 0x8000 and max_pfn_mapped, respecting the
reserved memblock regions.
Maybe we didn't reserve some ranges in there that should have been
reserved?
What happen you apply this patch?


diff --git a/arch/x86/xen/mmu.c b/arch/x86/xen/mmu.c
index 5e92b61..73a21db 100644
--- a/arch/x86/xen/mmu.c
+++ b/arch/x86/xen/mmu.c
@@ -1653,9 +1653,6 @@ static __init void xen_map_identity_early(pmd_t *pmd, 
unsigned long max_pfn)
                for (pteidx = 0; pteidx < PTRS_PER_PTE; pteidx++, pfn++) {
                        pte_t pte;
 
-                       if (pfn > max_pfn_mapped)
-                               max_pfn_mapped = pfn;
-
                        if (!pte_none(pte_page[pteidx]))
                                continue;
 
@@ -1713,6 +1710,8 @@ __init pgd_t *xen_setup_kernel_pagetable(pgd_t *pgd,
        pud_t *l3;
        pmd_t *l2;
 
+       max_pfn_mapped = PFN_DOWN(__pa(xen_start_info->mfn_list));
+
        /* Zap identity mapping */
        init_level4_pgt[0] = __pgd(0);
 

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel