[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

 


Rackspace

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