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

[Xen-devel] PV domU with 255GB boot failure

To: xen-devel@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-devel] PV domU with 255GB boot failure
From: Mukesh Rathor <mukesh.rathor@xxxxxxxxxx>
Date: Mon, 16 Feb 2009 20:00:41 -0800
Delivery-date: Mon, 16 Feb 2009 20:01:18 -0800
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
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>
Organization: Oracle Corp
Reply-to: mukesh.rathor@xxxxxxxxxx
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: Thunderbird 2.0.0.5 (X11/20070719)
Hi,

Trying to boot a PV 64bit guest with 255GB mem it hangs in
extend_init_mapping() in init-xen.c. The hang is in the loop:

        /* Finally, blow away any spurious initial mappings. */
        while (1) {
                pmd = (pmd_t *)&page[pmd_index(va)];
                if (pmd_none(*pmd))
                        break;
                HYPERVISOR_update_va_mapping(va, __pte_ma(0), 0);
                va += PAGE_SIZE;
        }

More details:
     tables_space : 0x1ff05000
     __START_KERNEL_map == 0xffffffff80000000
     &_text == 0xffffffff80200000
     start_pfn == 0x20cf8

The va going into above loop is 0xffffffffc0cf5000. This is L3 at 511 which
is NULL and so bad things happening.

I'm still trying to figure where the initial PTEs are being setup, I
don't see in hypervisor, my fear is libxc, or worse python :)....

Could the fix be made in the loop above the above mentioned loop in the
function where it's ensuring init mappings cover kernel+tables to check
for pud also?

        /* Ensure init mappings cover kernel text/data and initial
         * tables. */
        while (va < (__START_KERNEL_map
                     + (start_pfn << PAGE_SHIFT)
                     + tables_space)) {

                check for pud_none() <======= ????????????

                pmd = (pmd_t *)&page[pmd_index(va)];
                if (pmd_none(*pmd)) {
                        pte_page = alloc_static_page(&phys);

                ................

Thanks a lot,
Mukesh


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