Wei Wang2
2010-May-07 14:41 UTC
[Xen-devel] [PATCH] svm: Avoid VINTR injection during NMI shadow
Hi, I had observed that if xen injects and intercepts VINTR during NMI shadow, and if the xen injects NMI into guest at a very hight frequency, guest vcpu will hang. Attached patch avoids VINTR injection when guest is handling a NMI. Thanks, Wei Signed-off-by: Wei Wang <wei.wang2@amd.com> Reviewed-by: Wei Huang<wei.huang2@amd.com> -- Legal Information: Advanced Micro Devices GmbH Karl-Hammerschmidt-Str. 34 85609 Dornach b. München Geschäftsführer: Andrew Bowd, Thomas M. McCoy, Giuliano Meroni Sitz: Dornach, Gemeinde Aschheim, Landkreis München Registergericht München, HRB Nr. 43632 _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Keir Fraser
2010-May-07 16:56 UTC
Re: [Xen-devel] [PATCH] svm: Avoid VINTR injection during NMI shadow
I think the if statement should be: if ((vmcb->general1_intercepts & GENERAL1_INTERCEPT_IRET) && (intack.source == hvm_intsrc_nmi)) return; Which I think deals properly and specifically with this hang problem. What do you think? -- Keir On 07/05/2010 15:41, "Wei Wang2" <wei.wang2@amd.com> wrote:> Hi, > I had observed that if xen injects and intercepts VINTR during NMI shadow, and > if the xen injects NMI into guest at a very hight frequency, guest vcpu will > hang. Attached patch avoids VINTR injection when guest is handling a NMI. > > Thanks, > > Wei > Signed-off-by: Wei Wang <wei.wang2@amd.com> > Reviewed-by: Wei Huang<wei.huang2@amd.com> > -- > Legal Information: > Advanced Micro Devices GmbH > Karl-Hammerschmidt-Str. 34 > 85609 Dornach b. München > > Geschäftsführer: Andrew Bowd, Thomas M. McCoy, Giuliano Meroni > Sitz: Dornach, Gemeinde Aschheim, Landkreis München > Registergericht München, HRB Nr. 43632_______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Wei Wang2
2010-May-07 17:18 UTC
Re: [Xen-devel] [PATCH] svm: Avoid VINTR injection during NMI shadow
Totally agree, you are are right only NMI injection should be avoid. I have tested that the new condition works well. Thanks. Wei On Friday 07 May 2010 18:56:32 Keir Fraser wrote:> I think the if statement should be: > if ((vmcb->general1_intercepts & GENERAL1_INTERCEPT_IRET) && > (intack.source == hvm_intsrc_nmi)) > return; > > Which I think deals properly and specifically with this hang problem. > > What do you think? > > -- Keir > > On 07/05/2010 15:41, "Wei Wang2" <wei.wang2@amd.com> wrote: > > Hi, > > I had observed that if xen injects and intercepts VINTR during NMI > > shadow, and if the xen injects NMI into guest at a very hight frequency, > > guest vcpu will hang. Attached patch avoids VINTR injection when guest is > > handling a NMI. > > > > Thanks, > > > > Wei > > Signed-off-by: Wei Wang <wei.wang2@amd.com> > > Reviewed-by: Wei Huang<wei.huang2@amd.com> > > -- > > Legal Information: > > Advanced Micro Devices GmbH > > Karl-Hammerschmidt-Str. 34 > > 85609 Dornach b. München > > > > Geschäftsführer: Andrew Bowd, Thomas M. McCoy, Giuliano Meroni > > Sitz: Dornach, Gemeinde Aschheim, Landkreis München > > Registergericht München, HRB Nr. 43632_______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel