Re: [PATCH V2 0/6] perf: New conditional branch filter

From: Stephane Eranian
Date: Sat Sep 21 2013 - 02:55:59 EST


On Tue, Sep 10, 2013 at 4:06 AM, Michael Ellerman
<michael@xxxxxxxxxxxxxx> wrote:
>
> On Fri, 2013-08-30 at 09:54 +0530, Anshuman Khandual wrote:
> > This patchset is the re-spin of the original branch stack sampling
> > patchset which introduced new PERF_SAMPLE_BRANCH_COND filter. This patchset
> > also enables SW based branch filtering support for PPC64 platforms which have
> > branch stack sampling support. With this new enablement, the branch filter support
> > for PPC64 platforms have been extended to include all these combinations discussed
> > below with a sample test application program.
>
> ...
>
> > Mixed filters
> > -------------
> > (6) perf record -e branch-misses:u -j any_call,any_ret ./cprog
> > Error:
> > The perf.data file has no samples!
> >
> > NOTE: As expected. The HW filters all the branches which are calls and SW tries to find return
> > branches in that given set. Both the filters are mutually exclussive, so obviously no samples
> > found in the end profile.
>
> The semantics of multiple filters is not clear to me. It could be an OR,
> or an AND. You have implemented AND, does that match existing behaviour
> on x86 for example?
>
The semantic on the API is OR. AND does not make sense: CALL & RETURN?
On x86, the HW filter is an OR (default: ALL, set bit to disable a
type). I suspect
it is similar on PPC.

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