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

Re: [Xen-devel] [PATCH] PoD: appropriate BUG_ON when domain is dying



Need an Ack from George or Tim for this one.

 -- Keir

On 09/12/2009 03:00, "Kouya Shimura" <kouya@xxxxxxxxxxxxxx> wrote:

> Hi,
> 
> BUG_ON(d->is_dying) in p2m_pod_cache_add() which is introduced in
> c/s 20426 is not proper. Since dom->is_dying is set asynchronously.
> For example, MMU_UPDATE hypercalls from qemu and the
> DOMCTL_destroydomain hypercall from xend can be issued simultaneously.
> 
> (XEN) p2m_pod_demand_populate: Out of populate-on-demand memory! tot_pages
> 65751 pod_entries 197408
> (XEN) domain_crash called from p2m.c:1062
> (XEN) Domain 1 reported crashed by domain 0 on cpu#0:
> (XEN) Xen BUG at p2m.c:306
> (XEN) ----[ Xen-3.5-unstable  x86_64  debug=y  Tainted:    C ]----
> (XEN) CPU:    0
> (XEN) RIP:    e008:[<ffff82c4801bd12b>] p2m_pod_cache_add+0x350/0x3b1
> (XEN) RFLAGS: 0000000000010202   CONTEXT: hypervisor
> (XEN) rax: ffff830138c8ad30   rbx: ffff830138002018   rcx: ffff82f6001a8f00
> (XEN) rdx: ffff830138c8ada0   rsi: ffff830138002020   rdi: ffff82f6001aab00
> (XEN) rbp: ffff82c4802ef9b8   rsp: ffff82c4802ef968   r8:  000000000000d412
> (XEN) r9:  0000000000000001   r10: ffff82f600000000   r11: 000000000000d478
> (XEN) r12: 0000000000000001   r13: ffff830138002000   r14: 0000000000000001
> (XEN) r15: 000000000000d478   cr0: 000000008005003b   cr4: 00000000000026f0
> (XEN) cr3: 000000011cec7000   cr2: ffff8800e41c7560
> (XEN) ds: 0000   es: 0000   fs: 0000   gs: 0000   ss: e010   cs: e008
> (XEN) Xen stack trace from rsp=ffff82c4802ef968:
> (XEN)    ffff830138002000 0000000000000000 ffff82f6001a8f00 000000000000d478
> (XEN)    ffff830138c8ad30 000000000000000e 000000000000000e ffff82c4802ef9d0
> (XEN)    ffff830138002000 ffff82c4802ef9d0 ffff82c4802efbb8 ffff82c4801be27e
> (XEN)    0000000000000002 0000000000000000 0000000000000000 0000000000000000
> (XEN)    0000000000000000 0000000000000000 0000000000000000 0000000000000000
> (XEN)    0000000000000000 0000000000000000 0000000000000000 0000000000000000
> (XEN)    0000000000000000 0000000000000000 0000000000000000 ffff83000d478000
> (XEN)    0000000000000000 0000000000000000 0000000000000000 0000000100000001
> (XEN)    0000000100000001 0000000100000001 0000000100000001 0000000100000001
> (XEN)    0000000100000001 0000000100000001 0000000100000001 ffff830138002e20
> (XEN)    ffff830138002000 000000000000d5f4 0000000000125f18 0000000000125f19
> (XEN)    0000000000125f1a 0000000000125f1b 0000000000125f1c 0000000000125f1d
> (XEN)    0000000000125f1e 000000000011d72b 0000000000125f1f 0000000000125f20
> (XEN)    000000000000d4ec 0000000000125f21 000000000000d341 000000000000d478
> (XEN)    0000000000126960 ffff830138921000 0000000000138921 0000001038002000
> (XEN)    ffff82c4802efc28 ffff82c4802efab0 ffff82c4802efa60 ffff82c4802efa60
> (XEN)    ffff82c4802ef9d0 ffff82c4802efa60 00000002802efbb8 ffff82c4802eff28
> (XEN)    ffff82c4802efab0 00000000000317ed 0000000000000010 ffff830138c8ad30
> (XEN)    000000000003a26d ffff830138002000 ffff82c4802efce8 ffff82c4801be8c9
> (XEN)    ffff82c4802efbd8 ffff82c4802efc28 ffff82c4802efcb4 ffff82c48011d8c4
> (XEN) Xen call trace:
> (XEN)    [<ffff82c4801bd12b>] p2m_pod_cache_add+0x350/0x3b1
> (XEN)    [<ffff82c4801be27e>] p2m_pod_zero_check+0x3a5/0x3d8
> (XEN)    [<ffff82c4801be8c9>] p2m_pod_demand_populate+0x618/0x8d4
> (XEN)    [<ffff82c4801bed04>] p2m_pod_check_and_populate+0x17f/0x1fa
> (XEN)    [<ffff82c4801bf3d1>] p2m_gfn_to_mfn+0x34b/0x3f4
> (XEN)    [<ffff82c480166528>] mod_l1_entry+0x1aa/0x7ee
> (XEN)    [<ffff82c48016774f>] do_mmu_update+0x56a/0x144b
> (XEN)    [<ffff82c4801ed1bf>] syscall_enter+0xef/0x149
> (XEN)
> (XEN)
> (XEN) ****************************************
> (XEN) Panic on CPU 0:
> (XEN) Xen BUG at p2m.c:306
> (XEN) ****************************************
> 
> Also this patch lets p2m_pod_empty_cache() wait by spin_barrier
> until another PoD operation ceases.
> 
> Thanks,
> Kouya
> 
> Signed-off-by: Kouya Shimura <kouya@xxxxxxxxxxxxxx>
> 



_______________________________________________
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®.