[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v3 2/3] x86/VPMU: Disable VPMU when NMI watchdog is on
On 30/01/15 17:15, Boris Ostrovsky wrote: > NMI watchdog sets APIC_LVTPC register to generate an NMI when PMU counter > overflow occurs. This may be overwritten by VPMU code later, effectively > turning off the watchdog. > > We should disable VPMU when NMI watchdog is running. > > Signed-off-by: Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx> Reviewed-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx> > --- > docs/misc/xen-command-line.markdown | 2 ++ > xen/arch/x86/hvm/vpmu.c | 13 +++++++++++++ > 2 files changed, 15 insertions(+) > > diff --git a/docs/misc/xen-command-line.markdown > b/docs/misc/xen-command-line.markdown > index 2274e74..bc316be 100644 > --- a/docs/misc/xen-command-line.markdown > +++ b/docs/misc/xen-command-line.markdown > @@ -1346,6 +1346,8 @@ wrong behaviour (see handle\_pmc\_quirk()). > If 'vpmu=bts' is specified the virtualisation of the Branch Trace Store (BTS) > feature is switched on on Intel processors supporting this feature. > > +Note that if **watchdog** option is also specified vpmu will be turned off. > + > *Warning:* > As the BTS virtualisation is not 100% safe and because of the nehalem quirk > don't use the vpmu flag on production systems with Intel cpus! > diff --git a/xen/arch/x86/hvm/vpmu.c b/xen/arch/x86/hvm/vpmu.c > index 63b2158..b2e8e65 100644 > --- a/xen/arch/x86/hvm/vpmu.c > +++ b/xen/arch/x86/hvm/vpmu.c > @@ -24,6 +24,7 @@ > #include <asm/regs.h> > #include <asm/types.h> > #include <asm/msr.h> > +#include <asm/nmi.h> > #include <asm/hvm/support.h> > #include <asm/hvm/vmx/vmx.h> > #include <asm/hvm/vmx/vmcs.h> > @@ -288,3 +289,15 @@ void vpmu_dump(struct vcpu *v) > vpmu->arch_vpmu_ops->arch_vpmu_dump(v); > } > > +static int __init vpmu_init(void) > +{ > + /* NMI watchdog uses LVTPC and HW counter */ > + if ( opt_watchdog && opt_vpmu_enabled ) > + { > + printk(XENLOG_WARNING "NMI watchdog is enabled. Turning VPMU > off.\n"); > + opt_vpmu_enabled = 0; > + } > + > + return 0; > +} > +__initcall(vpmu_init); _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |