On Tue, Sep 03, 2013 at 05:14:51PM -0400, Vince Weaver wrote:
> On Tue, 3 Sep 2013, Andi Kleen wrote:
> 
> > > > +       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.
> 
> Is the implementation a direct mapping to the LBR documentation or has it 
> been generic so non-Intel architectures can use it?

It's not a direct mapping (no_tx doesn't exist in the hardware)
If other architectures have similar capabilities they can likely use it.

> 
> > The patches to export the new fields haven't been merged yet.
> 
> What does this mean?  The above values are exported as part of 
>   include/uapi/linux/perf_event.h
> Do they not work yet?

You can filter on the fields, but you can't see them outside
the kernel driver yet.  The patch to see them is still pending.
> 
> > >  What happens if you set both in transaction and not in?
> > 
> > Then you get all branches.
> 
> so what happens if you set neither "PERF_SAMPLE_BRANCH_IN_TX" nor
> "PERF_SAMPLE_BRANCH_NO_TX"?  Logically you'd get no branches at all,
> but that can't be true as all code prior to 3.11 didn't set those values.

Then you get all branches too

(that's how all the other filters work too)

-Andi

-- 
[email protected] -- Speaking for myself only.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
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