> > +   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
-- 
a...@linux.intel.com -- Speaking for myself only
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to