[PATCH v4 3/6] perf tools: Refactor script__setup_sample_type()

German Gomez german.gomez at arm.com
Wed Dec 15 07:11:35 PST 2021


From: Alexandre Truong <alexandre.truong at arm.com>

Refactoring script__setup_sample_type() by using
callchain_param_setup() to replace the duplicate code
for callchain parameter setting up.

Signed-off-by: Alexandre Truong <alexandre.truong at arm.com>
Signed-off-by: German Gomez <german.gomez at arm.com>
---
 tools/perf/builtin-script.c | 11 +----------
 1 file changed, 1 insertion(+), 10 deletions(-)

diff --git a/tools/perf/builtin-script.c b/tools/perf/builtin-script.c
index da2175d70ac9..ab7d575f97f2 100644
--- a/tools/perf/builtin-script.c
+++ b/tools/perf/builtin-script.c
@@ -3468,16 +3468,7 @@ static void script__setup_sample_type(struct perf_script *script)
 	struct perf_session *session = script->session;
 	u64 sample_type = evlist__combined_sample_type(session->evlist);
 
-	if (symbol_conf.use_callchain || symbol_conf.cumulate_callchain) {
-		if ((sample_type & PERF_SAMPLE_REGS_USER) &&
-		    (sample_type & PERF_SAMPLE_STACK_USER)) {
-			callchain_param.record_mode = CALLCHAIN_DWARF;
-			dwarf_callchain_users = true;
-		} else if (sample_type & PERF_SAMPLE_BRANCH_STACK)
-			callchain_param.record_mode = CALLCHAIN_LBR;
-		else
-			callchain_param.record_mode = CALLCHAIN_FP;
-	}
+	callchain_param_setup(sample_type);
 
 	if (script->stitch_lbr && (callchain_param.record_mode != CALLCHAIN_LBR)) {
 		pr_warning("Can't find LBR callchain. Switch off --stitch-lbr.\n"
-- 
2.25.1




More information about the linux-arm-kernel mailing list