[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-ia64-devel] [RFC] The "vcpu->arch.privregs" is doubly used
Hi Kevin, Thanks for your comment. I fix domain destruction processing too, and will resend a patch. I found the some memory leak issue in VTI domain destruction processing. I fix it too, and will send a patch. Best regards, Kan Tian, Kevin wrote: >>From:Masaki Kanno >>Sent: 2006定3埖20晩 18:00 >> >>Sorry. Because size is not same as the mapped_regs_t structure as for >>the vpd structure, my patch cannot solve a problem. Maybe the "destroy" >>processing will become wrong. > >Long time ago, there're two structures completely different to contain >virtual processor context for VTI and non-VTI domain, and later Eddie >proposed a patch to merge two at last OLS. However because the virtual >processor context defined in VTI domain has an alignment requirement, >the actual size is bigger for VTI domain. > >Now that there's no VTI specific flag passed at domain creation phase >(only at domain builder phase), I think your patch is at least necessary to >ensure memory leak issue. > >At domain destroy, it's easy to free that different size area since you know >whether it's a VTI or not. :-) > >Alex, could you help check-in this patch? > >Thanks, >Kevin > >> >>Best regards, >> Kan >> >>Masaki Kanno wrote: >>>Hi, >>> >>>I found the "vcpu->arch.privregs" being doubly used. >>>Please refer to the following functions. >>> >>> - alloc_vcpu_struct() : xen/arch/ia64/xen/domain.c >>> - vmx_final_setup_guest() : xen/arch/ia64/vmx/vmx_init.c >>> >>>I suggest the following patch. Please comment. >>> >>>Best regards, >>> Kan >>> >>>diff -r 25003dd43a92 xen/arch/ia64/vmx/vmx_init.c >>>--- a/xen/arch/ia64/vmx/vmx_init.c Fri Mar 17 15:37:28 2006 >>-0700 >>>+++ b/xen/arch/ia64/vmx/vmx_init.c Mon Mar 20 17:35:23 2006 >>+0900 >>>@@ -261,6 +261,8 @@ vmx_final_setup_guest(struct vcpu *v) >>> { >>> vpd_t *vpd; >>> >>>+ free_xenheap_pages(v->arch.privregs, >>get_order(sizeof(mapped_regs_t))); >>>+ >>> vpd = alloc_vpd(); >>> ASSERT(vpd); >>> >>> >>> >>>_______________________________________________ >>>Xen-ia64-devel mailing list >>>Xen-ia64-devel@xxxxxxxxxxxxxxxxxxx >>>http://lists.xensource.com/xen-ia64-devel >>> >> >> >>_______________________________________________ >>Xen-ia64-devel mailing list >>Xen-ia64-devel@xxxxxxxxxxxxxxxxxxx >>http://lists.xensource.com/xen-ia64-devel > _______________________________________________ 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 |