perf report: Support switching data w/ and w/o callchains
authorNamhyung Kim <namhyung@kernel.org>
Tue, 11 Feb 2025 06:07:45 +0000 (22:07 -0800)
committerNamhyung Kim <namhyung@kernel.org>
Wed, 19 Feb 2025 21:23:58 +0000 (13:23 -0800)
The symbol_conf.use_callchain should be reset when switching to new data
file, otherwise report__setup_sample_type() will show an error message
that it enabled callchains but no callchain data.  The function also
will turn on the callchains if the data has PERF_SAMPLE_CALLCHAIN so I
think it's ok to reset symbol_conf.use_callchain here.

Link: https://lore.kernel.org/r/20250211060745.294289-2-namhyung@kernel.org
Signed-off-by: Namhyung Kim <namhyung@kernel.org>
tools/perf/builtin-report.c

index a8845e64866997ca6c1f53156edc494f60ad8ce1..d32b4e2805add3662dd88073b4a10ca148ea9258 100644 (file)
@@ -1865,6 +1865,11 @@ repeat:
        if (ret == K_SWITCH_INPUT_DATA || ret == K_RELOAD) {
                perf_session__delete(session);
                last_key = K_SWITCH_INPUT_DATA;
+               /*
+                * To support switching between data with and without callchains.
+                * report__setup_sample_type() will update it properly.
+                */
+               symbol_conf.use_callchain = false;
                goto repeat;
        } else
                ret = 0;