* [PATCH] perf/tool: Add remaining branch filters to perf record
@ 2022-12-05 6:44 Anshuman Khandual
2022-12-05 12:49 ` Arnaldo Carvalho de Melo
0 siblings, 1 reply; 2+ messages in thread
From: Anshuman Khandual @ 2022-12-05 6:44 UTC (permalink / raw)
To: linux-kernel
Cc: james.clark, Anshuman Khandual, Peter Zijlstra, Ingo Molnar,
Arnaldo Carvalho de Melo, linux-perf-users
This adds all remaining branch filters i.e no_cycles, no_flags and hw_index
to perf record tool. While here, also updates the documentation.
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Arnaldo Carvalho de Melo <acme@kernel.org>
Cc: linux-perf-users@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
Signed-off-by: Anshuman Khandual <anshuman.khandual@arm.com>
---
tools/perf/Documentation/perf-record.txt | 5 +++++
tools/perf/util/parse-branch-options.c | 3 +++
2 files changed, 8 insertions(+)
diff --git a/tools/perf/Documentation/perf-record.txt b/tools/perf/Documentation/perf-record.txt
index e41ae950fdc3..7803c0c4c8f9 100644
--- a/tools/perf/Documentation/perf-record.txt
+++ b/tools/perf/Documentation/perf-record.txt
@@ -388,6 +388,7 @@ following filters are defined:
- any_call: any function call or system call
- any_ret: any function return or system call return
- ind_call: any indirect branch
+ - ind_jmp: any indirect jump
- call: direct calls, including far (to/from kernel) calls
- u: only when the branch target is at the user level
- k: only when the branch target is in the kernel
@@ -396,6 +397,10 @@ following filters are defined:
- no_tx: only when the target is not in a hardware transaction
- abort_tx: only when the target is a hardware transaction abort
- cond: conditional branches
+ - call_stack: save call stack
+ - no_flags: don't save branch flags e.g prediction, misprediction etc
+ - no_cycles: don't save branch cycles
+ - hw_index: save branch hardware index
- save_type: save branch type during sampling in case binary is not available later
For the platforms with Intel Arch LBR support (12th-Gen+ client or
4th-Gen Xeon+ server), the save branch type is unconditionally enabled
diff --git a/tools/perf/util/parse-branch-options.c b/tools/perf/util/parse-branch-options.c
index 31faf2bb49ff..fd67d204d720 100644
--- a/tools/perf/util/parse-branch-options.c
+++ b/tools/perf/util/parse-branch-options.c
@@ -30,8 +30,11 @@ static const struct branch_mode branch_modes[] = {
BRANCH_OPT("cond", PERF_SAMPLE_BRANCH_COND),
BRANCH_OPT("ind_jmp", PERF_SAMPLE_BRANCH_IND_JUMP),
BRANCH_OPT("call", PERF_SAMPLE_BRANCH_CALL),
+ BRANCH_OPT("no_flags", PERF_SAMPLE_BRANCH_NO_FLAGS),
+ BRANCH_OPT("no_cycles", PERF_SAMPLE_BRANCH_NO_CYCLES),
BRANCH_OPT("save_type", PERF_SAMPLE_BRANCH_TYPE_SAVE),
BRANCH_OPT("stack", PERF_SAMPLE_BRANCH_CALL_STACK),
+ BRANCH_OPT("hw_index", PERF_SAMPLE_BRANCH_HW_INDEX),
BRANCH_OPT("priv", PERF_SAMPLE_BRANCH_PRIV_SAVE),
BRANCH_END
};
--
2.25.1
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH] perf/tool: Add remaining branch filters to perf record
2022-12-05 6:44 [PATCH] perf/tool: Add remaining branch filters to perf record Anshuman Khandual
@ 2022-12-05 12:49 ` Arnaldo Carvalho de Melo
0 siblings, 0 replies; 2+ messages in thread
From: Arnaldo Carvalho de Melo @ 2022-12-05 12:49 UTC (permalink / raw)
To: Anshuman Khandual
Cc: linux-kernel, james.clark, Peter Zijlstra, Ingo Molnar,
linux-perf-users
Em Mon, Dec 05, 2022 at 12:14:43PM +0530, Anshuman Khandual escreveu:
> This adds all remaining branch filters i.e no_cycles, no_flags and hw_index
> to perf record tool. While here, also updates the documentation.
Thanks, applied.
- Arnaldo
> Cc: Peter Zijlstra <peterz@infradead.org>
> Cc: Ingo Molnar <mingo@redhat.com>
> Cc: Arnaldo Carvalho de Melo <acme@kernel.org>
> Cc: linux-perf-users@vger.kernel.org
> Cc: linux-kernel@vger.kernel.org
> Signed-off-by: Anshuman Khandual <anshuman.khandual@arm.com>
> ---
> tools/perf/Documentation/perf-record.txt | 5 +++++
> tools/perf/util/parse-branch-options.c | 3 +++
> 2 files changed, 8 insertions(+)
>
> diff --git a/tools/perf/Documentation/perf-record.txt b/tools/perf/Documentation/perf-record.txt
> index e41ae950fdc3..7803c0c4c8f9 100644
> --- a/tools/perf/Documentation/perf-record.txt
> +++ b/tools/perf/Documentation/perf-record.txt
> @@ -388,6 +388,7 @@ following filters are defined:
> - any_call: any function call or system call
> - any_ret: any function return or system call return
> - ind_call: any indirect branch
> + - ind_jmp: any indirect jump
> - call: direct calls, including far (to/from kernel) calls
> - u: only when the branch target is at the user level
> - k: only when the branch target is in the kernel
> @@ -396,6 +397,10 @@ following filters are defined:
> - no_tx: only when the target is not in a hardware transaction
> - abort_tx: only when the target is a hardware transaction abort
> - cond: conditional branches
> + - call_stack: save call stack
> + - no_flags: don't save branch flags e.g prediction, misprediction etc
> + - no_cycles: don't save branch cycles
> + - hw_index: save branch hardware index
> - save_type: save branch type during sampling in case binary is not available later
> For the platforms with Intel Arch LBR support (12th-Gen+ client or
> 4th-Gen Xeon+ server), the save branch type is unconditionally enabled
> diff --git a/tools/perf/util/parse-branch-options.c b/tools/perf/util/parse-branch-options.c
> index 31faf2bb49ff..fd67d204d720 100644
> --- a/tools/perf/util/parse-branch-options.c
> +++ b/tools/perf/util/parse-branch-options.c
> @@ -30,8 +30,11 @@ static const struct branch_mode branch_modes[] = {
> BRANCH_OPT("cond", PERF_SAMPLE_BRANCH_COND),
> BRANCH_OPT("ind_jmp", PERF_SAMPLE_BRANCH_IND_JUMP),
> BRANCH_OPT("call", PERF_SAMPLE_BRANCH_CALL),
> + BRANCH_OPT("no_flags", PERF_SAMPLE_BRANCH_NO_FLAGS),
> + BRANCH_OPT("no_cycles", PERF_SAMPLE_BRANCH_NO_CYCLES),
> BRANCH_OPT("save_type", PERF_SAMPLE_BRANCH_TYPE_SAVE),
> BRANCH_OPT("stack", PERF_SAMPLE_BRANCH_CALL_STACK),
> + BRANCH_OPT("hw_index", PERF_SAMPLE_BRANCH_HW_INDEX),
> BRANCH_OPT("priv", PERF_SAMPLE_BRANCH_PRIV_SAVE),
> BRANCH_END
> };
> --
> 2.25.1
--
- Arnaldo
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2022-12-05 12:49 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-12-05 6:44 [PATCH] perf/tool: Add remaining branch filters to perf record Anshuman Khandual
2022-12-05 12:49 ` Arnaldo Carvalho de Melo
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.