Re: [PATCH 5/5] perf, x86: Support Haswell v4 LBR format v2

From: Andi Kleen
Date: Tue Sep 03 2013 - 16:28:52 EST


> > + PERF_SAMPLE_BRANCH_ABORT_TX = 1U << 7, /* transaction aborts */
> > + PERF_SAMPLE_BRANCH_IN_TX = 1U << 8, /* in transaction */
> > + PERF_SAMPLE_BRANCH_NO_TX = 1U << 9, /* not in transaction */
>
> so if you specify these flags in branch_sample_type, what information
> appears in the branch record?

This is just a filter, so when set branches that do not satisfy
the filter are not reported.

The patches to export the new fields haven't been merged yet.

>
> If you get an abort, what address appears in the record?

Abort is a jump from the abort point to the abort handler or
the HLE XACQUIRE lock instruction.

> What does it mean in regards to a branch entry to be or not be in a
> transaction?

When the branch is executed the CPU is in the transactional execution
state.

>
> If you set "in transaction" does that then only record branches that are
> in transactions?

Yes, like all the other branch filter flags.

> What happens if you set both in transaction and not in?

Then you get all branches.

>
> Is there some sort of document from intel you can link to that describes
> all of this?

http://download.intel.com/products/processor/manual/253669.pdf
Chapter 17.8

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