[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH] PoD: correct assertion and remove noisy messages
Sure. The patch is attached. In addition, it removes noisy messages. I don't think these messages are helpful. Thanks, Kouya Signed-off-by: Kouya Shimura <kouya@xxxxxxxxxxxxxx> George Dunlap writes: > You're right, that should be >=. Can you make a patch, see if it > fixes your problem, and if so send it to the list? > > Thanks, > -George > > On Fri, Dec 11, 2009 at 2:12 AM, Kouya Shimura <kouya@xxxxxxxxxxxxxx> wrote: > > Hi George, > > > > Executing "xm mem-set" command twice for a guest causes > > the assertion failure. > > > > (XEN) p2m_pod_set_cache_target: Unable to allocate domheap page for pod > > cache. target 48183 cachesize 48050 > > (XEN) memory.c:128:d2 Could not allocate order=0 extent: id=2 memflags=0 > > (321 of 512) > > (XEN) memory.c:128:d2 Could not allocate order=0 extent: id=2 memflags=0 > > (188 of 321) > > (XEN) Assertion 'pod_target > p2md->pod.count' failed at p2m.c:526 > > (XEN) ----[ Xen-3.5-unstable x86_64 debug=y Tainted: C ]---- > > (XEN) CPU: 1 > > (XEN) RIP: e008:[<ffff82c4801bd7d4>] p2m_pod_set_mem_target+0x42/0x61 > > (XEN) RFLAGS: 0000000000010246 CONTEXT: hypervisor > > (XEN) rax: 000000000000bc37 rbx: 0000000000000010 rcx: 000000000000bc37 > > (XEN) rdx: 000000000000bc37 rsi: 000000000001bab9 rdi: ffff830127cf2000 > > (XEN) rbp: ffff8301391efc68 rsp: ffff8301391efc68 r8: 000000000002017e > > (XEN) r9: 00000000deadbeef r10: ffff82c4802032d0 r11: 0000000000000282 > > (XEN) r12: 0000000046007bc0 r13: 00000000ffffffea r14: 00000000ffffffda > > (XEN) r15: 0000000046007bc0 cr0: 0000000080050033 cr4: 00000000000026f0 > > (XEN) cr3: 0000000129a43000 cr2: 0000000000a4e008 > > (XEN) ds: 0000 es: 0000 fs: 0063 gs: 0000 ss: e010 cs: e008 > > (XEN) Xen stack trace from rsp=ffff8301391efc68: > > (XEN) ffff8301391efcf8 ffff82c48015f095 ffff8301391efc88 ffff82c480134e07 > > (XEN) 0000000000030000 0000000000000000 0000000000000000 0000000000000000 > > (XEN) 0000000000000002 ffff82f602534860 ffff830127cf2000 ffff8300bf48a000 > > (XEN) ffff82c480264080 ffff8300bf48a000 0000000000000010 0000000046007bc0 > > (XEN) 00000000ffffffda 0000000046007bc0 > > ffff8301391eff08<G><2>memory.c:128:d2 Could not allocate order=0 extent: > > id=2 memflags=0 (0 of 512) > > (XEN) ffff82c480113b33 > > (XEN) 0000000000000002 00000059ef675add ffff8300bf326000 ffff82c480262080 > > (XEN) ffff8301391efd38 ffff82c48016b41e ffff8301391efd48 ffff82c48016b4ed > > (XEN) ffff8301391efd68 ffff82c48011dc44 ffff8301391efda8 0000000000000001 > > (XEN) ffff8301391efd88 ffff82c48011887e 0000000000000001 00000059ef675add > > (XEN) ffff8301391efdd8 0000000000000282 0000000000000001 ffff8301391efe50 > > (XEN) ffff8301391efdf8 0000000000000000 ffff8300bf326000 0000000000000000 > > (XEN) 0000000000000001 ffff880001976560 ffff8301391efde8 ffff82c48011d181 > > (XEN) ffff8301391efe08 ffff82c480149f07 ffff8301391be000 0000000000000004 > > (XEN) ffff8301391efe18 ffff82c480149f86 ffff8301391efe48 ffff82c48010764c > > (XEN) 0000000000000286 ffff8301391be000 0000000000000004 0000000000000000 > > (XEN) ffff8301391efe68 ffff82c480107a26 ffffffffffffffda ffff8800bcc21c18 > > (XEN) ffff8301391efe78 ffff82c48015b7f2 ffff8301391eff28 ffff8300bf48a000 > > (XEN) 0000000046007bc0 0000000000000009 ffff8301391eff08 ffff82c4801f1533 > > (XEN) 0000000000000000 0000000000000206 ffffffff810094d4 0000000000000100 > > (XEN) 00000039d18cebd7 000000000000e033 ffff8301391efee8 ffff8300bf48a000 > > (XEN) Xen call trace: > > (XEN) [<ffff82c4801bd7d4>] p2m_pod_set_mem_target+0x42/0x61 > > (XEN) [<ffff82c48015f095>] arch_memory_op+0xc69/0xd34 > > (XEN) [<ffff82c480113b33>] do_memory_op+0x1944/0x19a1 > > (XEN) [<ffff82c4801ee1bf>] syscall_enter+0xef/0x149 > > (XEN) > > (XEN) > > (XEN) **************************************** > > (XEN) Panic on CPU 1: > > (XEN) Assertion 'pod_target > p2md->pod.count' failed at p2m.c:526 > > (XEN) **************************************** > > (XEN) > > (XEN) Reboot in five seconds... > > > > I'm not sure but this assertion should be > > ASSERT(pod_target >= p2md->pod.count) ? > > Since pod.entry_count == pod.count at that time. > > > > Thanks, > > Kouya > > > > _______________________________________________ > > 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 diff -r b928797213ac xen/arch/x86/mm/p2m.c --- a/xen/arch/x86/mm/p2m.c Fri Dec 11 09:17:09 2009 +0000 +++ b/xen/arch/x86/mm/p2m.c Mon Dec 14 14:55:00 2009 +0900 @@ -338,7 +338,6 @@ static struct page_info * p2m_pod_cache_ /* Break up a superpage to make single pages. NB count doesn't * need to be adjusted. */ - printk("%s: Breaking up superpage.\n", __func__); p = page_list_remove_head(&p2md->pod.super); mfn = mfn_x(page_to_mfn(p)); @@ -529,7 +528,7 @@ p2m_pod_set_mem_target(struct domain *d, if ( pod_target > p2md->pod.entry_count ) pod_target = p2md->pod.entry_count; - ASSERT( pod_target > p2md->pod.count ); + ASSERT( pod_target >= p2md->pod.count ); ret = p2m_pod_set_cache_target(d, pod_target); @@ -695,7 +694,6 @@ out_entry_check: /* If we've reduced our "liabilities" beyond our "assets", free some */ if ( p2md->pod.entry_count < p2md->pod.count ) { - printk("b %d\n", p2md->pod.entry_count); p2m_pod_set_cache_target(d, p2md->pod.entry_count); } _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |