> --- 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 [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/