Re: [BUG] perf stat: explicit grouping yields unexpected results

From: Ingo Molnar
Date: Fri Nov 15 2013 - 01:35:09 EST



* Stephane Eranian <eranian@xxxxxxxxxx> wrote:

> Jiri,
>
> I was trying the grouping support in perf stat and I was surprised
> to see that if I create a group that is too big to be scheduled, and
> where only N out of P events can fit, perf stat still yields counts
> for the N events. I was expecting 0 counts or <not supported>.
>
> The kernel semantic is to schedule all the events in a group or
> none. Perf does something different and this is confusing. If you
> use explicit grouping then I think you want to group to fail if not
> all the events can be scheduled:
>
> On an IvyBridge:
> $ perf stat --g -e
> '{cycles,instructions,branches,branches,branches,branches,branches}'
> noploop 1
> 3 229 417 079 cycles
> 3 223 919 023 instructions # 1,00 insns per cycle
> 3 220 868 098 branches
> 3 220 868 098 branches
> 3 220 868 098 branches
> 3 220 868 098 branches
> <not supported> branches
>
> I think it should be: <not supported> for all events.

Btw., does the kernel side currently support discovery of such
impossible group scheduling constraints at group setup time? If not
then it probably should and it should reject them straight away.

Thanks,

Ingo
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/