[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v16 02/23] x86/VPMU: Don't globally disable VPMU if initialization fails.
>>> On 17.12.14 at 16:38, <boris.ostrovsky@xxxxxxxxxx> wrote: > The failure to initialize VPMU may be temporary so we shouldn'd disable VMPU > forever. Reported-by: Jan Beulich <jbeulich@xxxxxxxx> (or Suggested-by if you like that better) > Signed-off-by: Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx> > --- > xen/arch/x86/hvm/vpmu.c | 15 ++++++++------- > 1 file changed, 8 insertions(+), 7 deletions(-) > > diff --git a/xen/arch/x86/hvm/vpmu.c b/xen/arch/x86/hvm/vpmu.c > index 1df74c2..b43ea80 100644 > --- a/xen/arch/x86/hvm/vpmu.c > +++ b/xen/arch/x86/hvm/vpmu.c > @@ -218,6 +218,7 @@ void vpmu_initialise(struct vcpu *v) > { > struct vpmu_struct *vpmu = vcpu_vpmu(v); > uint8_t vendor = current_cpu_data.x86_vendor; > + int ret; > > if ( is_pvh_vcpu(v) ) > return; > @@ -230,21 +231,21 @@ void vpmu_initialise(struct vcpu *v) > switch ( vendor ) > { > case X86_VENDOR_AMD: > - if ( svm_vpmu_initialise(v, opt_vpmu_enabled) != 0 ) > - opt_vpmu_enabled = 0; > + ret = svm_vpmu_initialise(v, opt_vpmu_enabled); > break; > > case X86_VENDOR_INTEL: > - if ( vmx_vpmu_initialise(v, opt_vpmu_enabled) != 0 ) > - opt_vpmu_enabled = 0; > + ret = vmx_vpmu_initialise(v, opt_vpmu_enabled); > break; > > default: > - printk("VPMU: Initialization failed. " > - "Unknown CPU vendor %d\n", vendor); > - opt_vpmu_enabled = 0; > + ret = -EINVAL; > + printk(XENLOG_G_WARNING "VPMU: Unknown CPU vendor %d\n", vendor); > break; > } > + > + if ( ret ) > + printk(XENLOG_G_WARNING "VPMU: Initialization failed for %pv\n", v); Please avoid issuing two messages for the same problem. And the one in the default case probably doesn't make sense to be issued more than once (and then perhaps at boot time, if that doesn't happen already). Jan _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |