[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] RE: [Xen-ia64-devel] [PATCH] Xen panics when domvti is destroyed
Hi Anthony, Thanks for your comment. If it is safe that vmx_reliquish_vcpu_resouces(vcpu) is called before the vcpu is booted, your modification looks better. I'm afraid of the race condition between vmx_final_setup_guest() and vmx_relinquish_vcpu_resources(). Supposing such a condition, we might have to use some lock in order to prevent memory leak. How do you think? Thanks, Kouya Xu, Anthony writes: > Hi Kouya, > > Good catch! > > I think the root cause is, when VTI-domain is destroyed, vti-flag in vcpu > structure is not set while vti-flag in domain structure is set, so XEN think > of this vcpu as domU vcpu by mistake, then issue appears, > > Yes, your patch can fix this issue, but seems it may incur memory leak. > Maybe following small modification is needed. > > Anthony > > --- a/xen/arch/ia64/xen/domain.c Sun Oct 08 18:55:12 2006 -0600 > +++ b/xen/arch/ia64/xen/domain.c Tue Oct 10 19:06:44 2006 +0900 > @@ -341,9 +341,11 @@ void relinquish_vcpu_resources(struct vc > > void free_vcpu_struct(struct vcpu *v) > { > - if (VMX_DOMAIN(v)) > - vmx_relinquish_vcpu_resources(v); > - else > + if (v->domain->arch.is_vti) { > + vmx_relinquish_vcpu_resources(v); > + } else > relinquish_vcpu_resources(v); > > free_xenheap_pages(v, KERNEL_STACK_SIZE_ORDER); > > > > >-----Original Message----- > >From: xen-ia64-devel-bounces@xxxxxxxxxxxxxxxxxxx > >[mailto:xen-ia64-devel-bounces@xxxxxxxxxxxxxxxxxxx] On Behalf Of Kouya > >SHIMURA > >Sent: 2006年10月10日 18:31 > >To: xen-ia64-devel@xxxxxxxxxxxxxxxxxxx > >Subject: [Xen-ia64-devel] [PATCH] Xen panics when domvti is destroyed > > > >Hi, > > > >I got the following panic message when I destroyed a domvti which has > >2 vcpus and 2nd vcpu is not booted yet. This panic occurs from cset 11745. > >Attached patch fixes it. > > > >(XEN) ia64_fault, vector=0x1e, ifa=0xf00000000414802a, > >iip=0xf000000004030ef0, i > >psr=0x0000121008226018, isr=0x00000a0600000000 > >(XEN) Unaligned Reference. > >(XEN) d 0xf000000007d5c080 domid 0 > >(XEN) vcpu 0xf000000007d30000 vcpu 0 > >(XEN) > >(XEN) CPU 1 > >(XEN) psr : 0000121008226018 ifs : 800000000000040b ip : > >[<f000000004030ef1>] > >(XEN) ip is at free_domheap_pages+0x131/0x7f0 > >(XEN) unat: 0000000000000000 pfs : 0000000000000206 rsc : 0000000000000003 > >(XEN) rnat: 0000000000000206 bsps: 0000000000000003 pr : 0000000005569aab > >(XEN) ldrs: 0000000000000000 ccv : 0000000000000000 fpsr: 0009804c0270033f > >(XEN) csd : 0000000000000000 ssd : 0000000000000000 > >(XEN) b0 : f000000004074930 b6 : f000000004034130 b7 : a000000100067a90 > >(XEN) f6 : 1003e00000000000670a4 f7 : 1003ecccccccccccccccd > >(XEN) f8 : 1003e00000000000c2d06 f9 : 10001c000000000000000 > >(XEN) f10 : 100099c1aaaaaaa0e9000 f11 : 1003e00000000000004e0 > >(XEN) r1 : f000000004316d10 r2 : 0000000000000000 r3 : f000000007d37fe8 > >(XEN) r8 : 0000000000000040 r9 : 0000000000000000 r10 : 0000000000000000 > >(XEN) r11 : 0009804c0270033f r12 : f000000007d37930 r13 : f000000007d30000 > >(XEN) r14 : 0000000000000000 r15 : 000000019c290000 r16 : 0000000000000001 > >(XEN) r17 : f000000007ff7510 r18 : f000000007a0eb00 r19 : f000000007ff7500 > >(XEN) r20 : f000000007a0eb08 r21 : f00000000414803a r22 : f00000000414802a > >(XEN) r23 : f0000000040e8200 r24 : 0000001008226018 r25 : f00000000411f420 > >(XEN) r26 : f000000004119300 r27 : 0000000000000000 r28 : fffffffffff00001 > >(XEN) r29 : 0000000080000000 r30 : 0000000000000001 r31 : f00000000414802a > >(XEN) > >(XEN) Call Trace: > >(XEN) [<f000000004099b40>] show_stack+0x80/0xa0 > >(XEN) sp=f000000007d37560 > >bsp=f000000007d310d0 > >(XEN) [<f00000000406b050>] ia64_fault+0x280/0x670 > >(XEN) sp=f000000007d37730 > >bsp=f000000007d31098 > >(XEN) [<f000000004096b00>] ia64_leave_kernel+0x0/0x310 > >(XEN) sp=f000000007d37730 > >bsp=f000000007d31098 > >(XEN) [<f000000004030ef0>] free_domheap_pages+0x130/0x7f0 > >(XEN) sp=f000000007d37930 > >bsp=f000000007d31040 > >(XEN) [<f000000004074930>] pervcpu_vhpt_free+0x30/0x50 > >(XEN) sp=f000000007d37930 > >bsp=f000000007d31020 > >(XEN) [<f0000000040505d0>] relinquish_vcpu_resources+0x50/0xf0 > >(XEN) sp=f000000007d37930 > >bsp=f000000007d30ff0 > >(XEN) [<f000000004050700>] free_vcpu_struct+0x90/0xc0 > >(XEN) sp=f000000007d37930 > >bsp=f000000007d30fd0 > >(XEN) [<f00000000401e380>] free_domain+0x50/0x90 > >(XEN) sp=f000000007d37930 > >bsp=f000000007d30fa0 > >(XEN) [<f00000000401f100>] domain_destroy+0x2e0/0x320 > >(XEN) sp=f000000007d37930 > >bsp=f000000007d30f80 > >(XEN) [<f000000004031190>] free_domheap_pages+0x3d0/0x7f0 > >(XEN) sp=f000000007d37940 > >bsp=f000000007d30f40 > >(XEN) [<f0000000040627d0>] zap_domain_page_one+0x360/0x4d0 > >(XEN) sp=f000000007d37940 > >bsp=f000000007d30ef8 > >(XEN) [<f000000004062980>] dom0vp_zap_physmap+0x40/0x70 > >(XEN) sp=f000000007d37940 > >bsp=f000000007d30ec8 > >(XEN) [<f00000000404f2f0>] do_dom0vp_op+0x250/0x300 > >(XEN) sp=f000000007d37940 > >bsp=f000000007d30e80 > >(XEN) [<f00000000405bed0>] ia64_hypercall+0x7b0/0xdc0 > >(XEN) sp=f000000007d37940 > >bsp=f000000007d30e20 > >(XEN) [<f00000000406b590>] ia64_handle_break+0x150/0x2e0 > >(XEN) sp=f000000007d37df0 > >bsp=f000000007d30de0 > >(XEN) [<f000000004096b00>] ia64_leave_kernel+0x0/0x310 > >(XEN) sp=f000000007d37e00 > >bsp=f000000007d30de0 > >(XEN) > >(XEN) **************************************** > >(XEN) Panic on CPU 1: > >(XEN) Fault in Xen. > >(XEN) **************************************** > > > >Signed-off-by: Kouya Shimura <kouya@xxxxxxxxxxxxxx> _______________________________________________ Xen-ia64-devel mailing list Xen-ia64-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-ia64-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |