perf: Add new conditional branch filter 'PERF_SAMPLE_BRANCH_COND'
authorAnshuman Khandual <khandual@linux.vnet.ibm.com>
Thu, 22 May 2014 07:20:07 +0000 (12:50 +0530)
committerIngo Molnar <mingo@kernel.org>
Thu, 5 Jun 2014 10:30:15 +0000 (12:30 +0200)
This patch introduces new branch filter PERF_SAMPLE_BRANCH_COND which
will extend the existing perf ABI. This will filter branches which are
conditional. Various architectures can provide this functionality either
with HW filtering support (if present) or with SW filtering of captured
branch instructions.

Signed-off-by: Anshuman Khandual <khandual@linux.vnet.ibm.com>
Reviewed-by: Stephane Eranian <eranian@google.com>
Reviewed-by: Andi Kleen <ak@linux.intel.com>
Signed-off-by: Peter Zijlstra <peterz@infradead.org>
Cc: mpe@ellerman.id.au
Cc: benh@kernel.crashing.org
Cc: Arnaldo Carvalho de Melo <acme@kernel.org>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Link: http://lkml.kernel.org/r/1400743210-32289-1-git-send-email-khandual@linux.vnet.ibm.com
Signed-off-by: Ingo Molnar <mingo@kernel.org>
include/uapi/linux/perf_event.h

index e3fc8f09d110ce50bb02c255e3ec3a26f17c321c..d9cd853818ad5709efcf0a389c7cecc35fc87e1b 100644 (file)
@@ -163,8 +163,9 @@ enum perf_branch_sample_type {
        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 */
+       PERF_SAMPLE_BRANCH_COND         = 1U << 10, /* conditional branches */
 
-       PERF_SAMPLE_BRANCH_MAX          = 1U << 10, /* non-ABI */
+       PERF_SAMPLE_BRANCH_MAX          = 1U << 11, /* non-ABI */
 };
 
 #define PERF_SAMPLE_BRANCH_PLM_ALL \