> --- 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/

Reply via email to