Re: [PATCH 04/31] perf, core: Add generic intx/intx_checkpointed counter modifiers

From: Andi Kleen
Date: Fri Sep 28 2012 - 10:53:17 EST


On Fri, Sep 28, 2012 at 11:02:00AM +0200, Peter Zijlstra wrote:
> On Thu, 2012-09-27 at 21:31 -0700, Andi Kleen wrote:
> > + intx : 1, /* count inside transaction */
> > + intx_checkpointed : 1, /* checkpointed in transaction */
>
> I really hate those names.. what are they called in transactional memory
> literature?

Don't know of any other names. The papers I looked at normally don't
bother with PMUs.

At some point I had intx_cp, would that be better?

> Also do we really need this? Using the event format stuff we could
> equally well do:
>
> {cpu/cycles/, cpu/cycles,intx/, cpu/cycles,intx_checkpointed/}
>
> No need to push those bits through perf_event_attr::flags when you can
> stuff then through perf_event_attr::config, esp. for very hardware
> specific features.

I can't use config, because the qualifiers are valid for events that
already use config (like offcore).

So would need a new field. In fact that is what I did, I reused some
unused bits.

If I moved this into sysfs this would imply that the perf stat -T
code would become Haswell specific. As far as I understand normally
you guys don't want things like that. Would everyone be ok with
having specific code there?

The perf stat -T equations output is fairly important -- it's normally
the first thing to look at for TSX -- so I would like to keep it.

Also as a selfish reason I would prefer something that is short
to type. The qualifiers are quite common in scripts that do
measurements here. So I would prefer to keep :t and :c as user
interface. But the internal implementation can be adjusted
of course.

-Andi
--
ak@xxxxxxxxxxxxxxx -- Speaking for myself only.
--
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/