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] dom0 boot failure with 256G

To: <mukesh.rathor@xxxxxxxxxx>, "xen-devel" <xen-devel@xxxxxxxxxxxxxxxxxxx>
Subject: RE: [Xen-devel] dom0 boot failure with 256G
From: "Ian Pratt" <Ian.Pratt@xxxxxxxxxxxxx>
Date: Thu, 5 Jun 2008 05:00:03 +0100
Cc: "Kurt C. Hackel" <kurt.hackel@xxxxxxxxxx>, Keir Fraser <Keir.Fraser@xxxxxxxxxxxx>, Ian Pratt <Ian.Pratt@xxxxxxxxxxxxx>
Delivery-date: Wed, 04 Jun 2008 21:00:36 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
In-reply-to: <48474A61.3050903@xxxxxxxxxx>
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/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
References: <48474A61.3050903@xxxxxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
Thread-index: AcjGsUZlNS95kZ2aSxukCotiIyJjHAADs0Og
Thread-topic: [Xen-devel] dom0 boot failure with 256G
>     I've been intensely debugging a dom0 crash right at boot in
>     pagetable_init() with 256G. We are running 64bit hyp with 32bit
> dom0.
>     This on xen 3.1.3, which seems to have fixes from changeset 16548.

256GB is more than a 32b dom0 can handle. Presumably it works if you set
dom0_mem= to something smaller?

We should probably make the clipping of dom0 memory to something like
64GB automatic.

Ian

 
>     It boils down to this:
> 
>    crash occurs in dom0: mfn_to_pfn() during
> machine_to_phys_mapping[mfn]
>    lookup  where mfn == 0x3f2ec09 is too big. The table starts at:
> 0xf5800000
>    which I see comes from MACH2PHYS_VIRT_START.
> 
>    Trying to figure the hyp out, I notice phys addr is set as:
> 
>    d->arch.physaddr_bitsize =
>            fls((1UL << 32) - HYPERVISOR_COMPAT_VIRT_START(d)) - 1
>              + (PAGE_SIZE - 2);
>    which is set to 0x1019, totally baffling me. I'd expect it to be
32,
>    36, or 64????????
> 
>   moving along, in alloc_domheap_pages() :
>     bits = domain_clamp_alloc_bitsize(d, bits ? :
> (BITS_PER_LONG+PAGE_SHIFT));
> 
>    domain_clamp_alloc_bitsize(struct domain *d, unsigned int bits)
>    {
>        if ( (d == NULL) || !is_pv_32on64_domain(d) )
>                return bits;
>        return min(d->arch.physaddr_bitsize, bits);
>             ---> here : physaddr: 0x1019, bits:76 ?????
>             ---> i'm thinking bits should be 36+12 == 48 ??
>    }
> 
>     finally, call to alloc_heap_pages(...) returns frames too high, pg
>     ptr is returned at : ffff82849df30000 (zone_hi == 0x27)
> 
> 
>     On a side note, is my understanding correct that while a guest pfn
> must
>     always be < 36 bits for a PAE 32 guest, the mfn doesn't have to
be?
> 
> 
>     thanks
>     mukesh
> 
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@xxxxxxxxxxxxxxxxxxx
> http://lists.xensource.com/xen-devel

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