[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH] perf: Check all MSRs before passing hw check
>>> On 15.03.13 at 13:20, George Dunlap <george.dunlap@xxxxxxxxxxxxx> wrote: > --- a/arch/x86/kernel/cpu/perf_event.c > +++ b/arch/x86/kernel/cpu/perf_event.c > @@ -182,6 +182,7 @@ static bool check_hw_exists(void) > { > u64 val, val_new = ~0; > int i, reg, ret = 0; > + int bios_fail = 0; > > /* > * Check to see if the BIOS enabled any of the counters, if so > @@ -193,7 +194,7 @@ static bool check_hw_exists(void) > if (ret) > goto msr_fail; > if (val & ARCH_PERFMON_EVENTSEL_ENABLE) > - goto bios_fail; > + bios_fail = 1; > } > > if (x86_pmu.num_counters_fixed) { > @@ -203,7 +204,7 @@ static bool check_hw_exists(void) > goto msr_fail; > for (i = 0; i < x86_pmu.num_counters_fixed; i++) { > if (val & (0x03 << i*4)) > - goto bios_fail; > + bios_fail = 1; > } > } > > @@ -221,14 +222,13 @@ static bool check_hw_exists(void) > if (ret || val != val_new) > goto msr_fail; > > - return true; > - > -bios_fail: > - /* > - * We still allow the PMU driver to operate: > - */ > - printk(KERN_CONT "Broken BIOS detected, complain to your hardware > vendor.\n"); > - printk(KERN_ERR FW_BUG "the BIOS has corrupted hw-PMU resources (MSR %x > is %Lx)\n", reg, val); > + if (bios_fail) { > + /* > + * We still allow the PMU driver to operate: > + */ > + printk(KERN_CONT "Broken BIOS detected, complain to your > hardware vendor.\n"); > + printk(KERN_ERR FW_BUG "the BIOS has corrupted hw-PMU resources > (MSR %x is %Lx)\n", reg, val); The values being printed here are not meaningful anymore with this patch. Jan > + } > > return true; > _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |