[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] Xen dom0 crash in get_phys_to_machine



 On 10/12/2010 12:55 AM, Alan J. Wylie wrote:
> Further to my previous report:
>
> http://lists.xensource.com/archives/html/xen-devel/2010-10/msg00257.html
> Message-ID: <19629.39326.337589.71778@xxxxxxxxxxx>
>
> I've added some debugging and have tracked down the crash to the
> recently modified code in arch/x86/xen/mmu.c

Thanks, this is useful info.  I'll try to get to it tomorrow.

    J

> Since the last version of the code that worked for me, mmu.c has been
> modified with a lot of P2M changes. It now crashes in
> get_phys_to_machine().
>
> Having tracked down the crash and the offending value of pfn, I then
> further modified the code only to print if ( pfn == 0x18C3 ), and also
> to print intermediate values.
>
> <7>ALANW get_phys_to_machine pfn 000018C3
> <7> topidx 00000000
> <7> mididx 0000000C
> <7> idx 000000C3
> (XEN) d0:v0: unhandled page fault (ec=0000)
>
> If there is any more debugging that I can do, I'll be only too happy to
> oblige.
>
> System: Supermicro SM-SC825TQ-R720LPB, 8GB RAM
> Motherboard: X8DTL
> Processor: 1 x Intel XEON E5506 quad core
> RAID controller: LSI MegaRAID SAS 8708
>
> git://git.kernel.org/pub/scm/linux/kernel/git/jeremy/xen
> branch xen/stable-2.6.32.x
>
> commit 179eca50d08fa05d7650fcb8a0d3e6598cf2388a
>     Merge commit 'v2.6.32.24' into xen/next-2.6.32
>
> ------8<------8<------8<------8<------8<------8<------8<------8<------8<------8<
> /* initial changes to mmu.c to track down crash */
> +static char hex[9];
>
>  unsigned long get_phys_to_machine(unsigned long pfn)
>  {
>         unsigned topidx, mididx, idx;
> +       unsigned long rv;
> +
> +       longtohex(pfn);
> +       xen_raw_printk(KERN_DEBUG "ALANW get_phys_to_machine %s", hex );
>
>         if (unlikely(pfn >= MAX_P2M_PFN))
>                 return INVALID_P2M_ENTRY;
> @@ -406,7 +432,12 @@ unsigned long get_phys_to_machine(unsigned long pfn)
>         mididx = p2m_mid_index(pfn);
>         idx = p2m_index(pfn);
>
> -       return p2m_top[topidx][mididx][idx];
> +       rv=p2m_top[topidx][mididx][idx];
> +
> +       longtohex(rv);
> +       xen_raw_printk(KERN_DEBUG " returns %s\n", hex );
> +
> +       return rv;
>  }
> ------8<------8<------8<------8<------8<------8<------8<------8<------8<------8<
> ...
>
> (XEN) VIRTUAL MEMORY ARRANGEMENT:
> (XEN)  Loaded kernel: ffffffff81000000->ffffffff816b1000
> (XEN)  Init. ramdisk: ffffffff816b1000->ffffffff816b1000
> (XEN)  Phys-Mach map: ffffffff816b1000->ffffffff818b1000
> (XEN)  Start info:    ffffffff818b1000->ffffffff818b14b4
> (XEN)  Page tables:   ffffffff818b2000->ffffffff818c3000
> (XEN)  Boot stack:    ffffffff818c3000->ffffffff818c4000
> (XEN)  TOTAL:         ffffffff80000000->ffffffff81c00000
> (XEN)  ENTRY ADDRESS: ffffffff814cc200
>
> ...
>
> <7>ALANW get_phys_to_machine 0003FFFC<7> returns 0017A544
> <7>ALANW get_phys_to_machine 0003FFFD<7> returns 0017A545
> <7>ALANW get_phys_to_machine 0003FFFE<7> returns 0017A546
> <7>ALANW get_phys_to_machine 0003FFFF<7> returns 0017A547
> <7>ALANW get_phys_to_machine 000002ED<7> returns 002382ED
> <7>ALANW get_phys_to_machine 000002ED<7> returns 002382ED
> init_memory_mapping: 0000000100000000-00000002bf780000
>  0100000000 - 02bf780000 page 4k
> kernel direct mapping tables up to 2bf780000 @ 18c3000-2ecb000
> <7>ALANW get_phys_to_machine 000018C3(XEN) d0:v0: unhandled page fault 
> (ec=0000)
> (XEN) Pagetable walk from ffffffff816bd618:
> (XEN)  L4[0x1ff] = 0000000239003067 0000000000001003
> (XEN)  L3[0x1fe] = 0000000239007067 0000000000001007
> (XEN)  L2[0x00b] = 0000000000000000 ffffffffffffffff
> (XEN) domain_crash_sync called from entry.S
> (XEN) Domain 0 (vcpu#0) crashed on cpu#0:
> (XEN) ----[ Xen-4.0.2-rc1-pre  x86_64  debug=n  Tainted:    C ]----
> (XEN) CPU:    0
> (XEN) RIP:    e033:[<ffffffff8100c393>]
> (XEN) RFLAGS: 0000000000000206   EM: 1   CONTEXT: pv guest
> (XEN) rax: ffffffff816bd000   rbx: 00000000000000c3   rcx: 0000000000000000
> (XEN) rdx: ffffffff8158b000   rsi: 0000000000000025   rdi: 0000000000000000
> (XEN) rbp: ffffffffffffffff   rsp: ffffffff81445c00   r8:  000000000000000a
> (XEN) r9:  ffffffff8157bf90   r10: ffffffff8157bd90   r11: 0000000000000200
> (XEN) r12: 00000000018c3000   r13: 8000000000000163   r14: 0000000000000001
> (XEN) r15: 00000000000009ff   cr0: 000000008005003b   cr4: 00000000000026f0
> (XEN) cr3: 0000000239001000   cr2: ffffffff816bd618
> (XEN) ds: 0000   es: 0000   fs: 0000   gs: 0000   ss: e02b   cs: e033
> (XEN) Guest stack trace from rsp=ffffffff81445c00:
> (XEN)    0000000000000000 0000000000000200 0000000000000000 ffffffff8100c393
> (XEN)    000000010000e030 0000000000010006 ffffffff81445c40 000000000000e02b
> (XEN)    ffffffff81445de8 80000000018c3063 00000000018c3000 ffffffff8100c657
> (XEN)    80000000018c3063 ffffffff8100c72a 0000000000000000 ffffffff8100b789
> (XEN)    0000000239002040 ffffffff815553e0 000000000000000f 8000000000000163
> (XEN)    80000000018c3063 ffffffffff400000 ffffffff81536000 00000002bf780000
> (XEN)    ffffffff814de1a3 0000000000000001 ffffffff814c30a0 ffffffffff400000
> (XEN)    0000000139002038 ffffffff815553e0 ffffffff81445d90 00000000018c3000
> (XEN)    ffff8802bf780000 00000002bf780000 00000002bf780000 0000000000000005
> (XEN)    ffffffff813085a8 ffff880001002048 0000000240000000 ffff8802bf780000
> (XEN)    ffffffff814f8091 0000000000000001 ffffffff814c30a0 8000000000000163
> (XEN)    0000000000000000 0000000000000004 0000000000000000 0000000000000000
> (XEN)    ffff880001002000 ffffffff8100b76b 00000000000003bf ffffffff815553e0
> (XEN)    ffffffff81001880 00000002bf780000 ffff8802bf780000 ffffffff813c7fad
> (XEN)    ffff8802bf780000 0000000000000000 ffffffff814f823a 00000002bf780000
> (XEN)    ffffffff813196e4 0000000000000020 ffff880100000000 ffffffff81445e08
> (XEN)    0000000040000000 0000000040000000 ffffffff81445e78 0000000000000001
> (XEN)    0000000000000001 ffffffff813c7fad 0000000000000000 00000002bf780000
> (XEN)    ffffffff813083d2 0000000000000000 0000000000000000 ffffffff00000000
> (XEN)    0000000100000000 ffff880000000000 0000000000000000 0000000100000000
> (XEN) Domain 0 crashed: 'noreboot' set - not rebooting.
>


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


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.