On Mon, 21 Mar 2016, Peter Zijlstra wrote:

> On Mon, Mar 21, 2016 at 02:19:27PM +0000, Liang, Kan wrote:
> 
> > > - /* Probe the cstate events. */
> > > - for (i = 0; i < max_event_nr; i++) {
> > > -         if (!msr[i].test(i) || rdmsrl_safe(msr[i].msr, &val))
> > > -                 msr[i].attr = NULL;
> > > - }
> > 
> > I think we need to update msr[i].attr as well.
> > Because in cstate_pmu_event_init we still need it to do check.
> 
> Yeah, this is exploding on all sides.. 

Gah crap. Why did this not explode in my face? Delta patch below.

Thanks,

        tglx

--- a/arch/x86/events/intel/cstate.c
+++ b/arch/x86/events/intel/cstate.c
@@ -553,6 +553,8 @@ static bool __init cstate_probe_msr(cons
                if (!rdmsrl_safe(msr[bit].msr, &val)) {
                        *attrs++ = &msr[bit].attr->attr.attr;
                        found = true;
+               } else {
+                       msr[bit].attr = NULL;
                }
        }
        *attrs = NULL;






Reply via email to