> --- a/arch/x86/kernel/cpu/perf_event_intel.c > +++ b/arch/x86/kernel/cpu/perf_event_intel.c > @@ -1367,8 +1367,10 @@ x86_get_event_constraints(struct cpu_hw_events *cpuc, > struct perf_event *event) > > if (x86_pmu.event_constraints) { > for_each_event_constraint(c, x86_pmu.event_constraints) { > - if ((event->hw.config & c->cmask) == c->code) > + if ((event->hw.config & c->cmask) == c->code) { > + event->hw.flags |= c->flags; > return c; > + }
It's not fully clear where that hw.flags field gets initially zeroed. Is that implicit in the allocation? Some comments would be good about its live cycle. Or just use a = instead of |=? Why would you have multiple flags in different places? -Andi -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/