Message ID | 1508887820-23533-1-git-send-email-boris.ostrovsky@oracle.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On 25/10/17 00:30, Boris Ostrovsky wrote: > This call was left during PVHv1 removal (commit 33e5c32559e1 ("x86: > remove PVHv1 code")): > > - if ( is_pvh_vcpu(sampling) && > - !(vpmu_mode & XENPMU_MODE_ALL) && > + if ( !(vpmu_mode & XENPMU_MODE_ALL) && > !vpmu->arch_vpmu_ops->do_interrupt(regs) ) > return; > > As result of this extra call VPMU no longer works for PV guests on Intel > because we effectively lose value of MSR_CORE_PERF_GLOBAL_STATUS. > > Signed-off-by: Boris Ostrovsky <boris.ostrovsky@oracle.com> Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com> > --- > This should also go into 4.9 Agreed, and therefore makes it a 4.10 candidate at this point. ~Andrew > > xen/arch/x86/cpu/vpmu.c | 4 ---- > 1 file changed, 4 deletions(-) > > diff --git a/xen/arch/x86/cpu/vpmu.c b/xen/arch/x86/cpu/vpmu.c > index fd2fcac..7baf461 100644 > --- a/xen/arch/x86/cpu/vpmu.c > +++ b/xen/arch/x86/cpu/vpmu.c > @@ -227,10 +227,6 @@ void vpmu_do_interrupt(struct cpu_user_regs *regs) > if ( !vpmu->xenpmu_data ) > return; > > - if ( !(vpmu_mode & XENPMU_MODE_ALL) && > - !vpmu->arch_vpmu_ops->do_interrupt(regs) ) > - return; > - > if ( vpmu_is_set(vpmu, VPMU_CACHED) ) > return; >
On 25/10/17 11:30, Andrew Cooper wrote: > On 25/10/17 00:30, Boris Ostrovsky wrote: >> This call was left during PVHv1 removal (commit 33e5c32559e1 ("x86: >> remove PVHv1 code")): >> >> - if ( is_pvh_vcpu(sampling) && >> - !(vpmu_mode & XENPMU_MODE_ALL) && >> + if ( !(vpmu_mode & XENPMU_MODE_ALL) && >> !vpmu->arch_vpmu_ops->do_interrupt(regs) ) >> return; >> >> As result of this extra call VPMU no longer works for PV guests on Intel >> because we effectively lose value of MSR_CORE_PERF_GLOBAL_STATUS. >> >> Signed-off-by: Boris Ostrovsky <boris.ostrovsky@oracle.com> > > Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com> > >> --- >> This should also go into 4.9 > > Agreed, and therefore makes it a 4.10 candidate at this point. Release-acked-by: Julien Grall <julien.grall@linaro.org> Cheers, > > ~Andrew > >> >> xen/arch/x86/cpu/vpmu.c | 4 ---- >> 1 file changed, 4 deletions(-) >> >> diff --git a/xen/arch/x86/cpu/vpmu.c b/xen/arch/x86/cpu/vpmu.c >> index fd2fcac..7baf461 100644 >> --- a/xen/arch/x86/cpu/vpmu.c >> +++ b/xen/arch/x86/cpu/vpmu.c >> @@ -227,10 +227,6 @@ void vpmu_do_interrupt(struct cpu_user_regs *regs) >> if ( !vpmu->xenpmu_data ) >> return; >> >> - if ( !(vpmu_mode & XENPMU_MODE_ALL) && >> - !vpmu->arch_vpmu_ops->do_interrupt(regs) ) >> - return; >> - >> if ( vpmu_is_set(vpmu, VPMU_CACHED) ) >> return; >> > > > _______________________________________________ > Xen-devel mailing list > Xen-devel@lists.xen.org > https://lists.xen.org/xen-devel >
diff --git a/xen/arch/x86/cpu/vpmu.c b/xen/arch/x86/cpu/vpmu.c index fd2fcac..7baf461 100644 --- a/xen/arch/x86/cpu/vpmu.c +++ b/xen/arch/x86/cpu/vpmu.c @@ -227,10 +227,6 @@ void vpmu_do_interrupt(struct cpu_user_regs *regs) if ( !vpmu->xenpmu_data ) return; - if ( !(vpmu_mode & XENPMU_MODE_ALL) && - !vpmu->arch_vpmu_ops->do_interrupt(regs) ) - return; - if ( vpmu_is_set(vpmu, VPMU_CACHED) ) return;
This call was left during PVHv1 removal (commit 33e5c32559e1 ("x86: remove PVHv1 code")): - if ( is_pvh_vcpu(sampling) && - !(vpmu_mode & XENPMU_MODE_ALL) && + if ( !(vpmu_mode & XENPMU_MODE_ALL) && !vpmu->arch_vpmu_ops->do_interrupt(regs) ) return; As result of this extra call VPMU no longer works for PV guests on Intel because we effectively lose value of MSR_CORE_PERF_GLOBAL_STATUS. Signed-off-by: Boris Ostrovsky <boris.ostrovsky@oracle.com> --- This should also go into 4.9 xen/arch/x86/cpu/vpmu.c | 4 ---- 1 file changed, 4 deletions(-)