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