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

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



Looks good to me.

Acked-by: George Dunlap <george.dunlap@xxxxxxxxxxxxx>

-George

Keir Fraser wrote:
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®.