Messages in this thread | | | Date | Tue, 3 Sep 2013 13:28:44 -0700 | From | Andi Kleen <> | Subject | Re: [PATCH 5/5] perf, x86: Support Haswell v4 LBR format v2 |
| |
> > + 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@linux.intel.com -- Speaking for myself only
| |