Re: [PATCH v6 03/18] perf/x86: add flags to event constraints

Andi Kleen
2013-01-18T22:59:42Z

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