perf report: Switch data file correctly in TUI
authorNamhyung Kim <namhyung@kernel.org>
Tue, 11 Feb 2025 06:07:44 +0000 (22:07 -0800)
committerNamhyung Kim <namhyung@kernel.org>
Wed, 19 Feb 2025 21:23:58 +0000 (13:23 -0800)
The 's' key is to switch to a new data file and load the data in the
same window.  The switch_data_file() will show a popup menu to select
which data file user wants and update the 'input_name' global variable.

But in the cmd_report(), it didn't update the data.path using the new
'input_name' and keep usng the old file.  This is fairly an old bug and
I assume people don't use this feature much. :)

Link: https://lore.kernel.org/r/20250211060745.294289-1-namhyung@kernel.org
Closes: https://lore.kernel.org/linux-perf-users/89e678bc-f0af-4929-a8a6-a2666f1294a4@linaro.org
Fixes: f5fc14124c5cefdd ("perf tools: Add data object to handle perf data file")
Reported-by: James Clark <james.clark@linaro.org>
Signed-off-by: Namhyung Kim <namhyung@kernel.org>
tools/perf/builtin-report.c

index 8e064b8bd589dc8dffbdfec0b934429963c4a5e5..a8845e64866997ca6c1f53156edc494f60ad8ce1 100644 (file)
@@ -1570,12 +1570,12 @@ int cmd_report(int argc, const char **argv)
                        input_name = "perf.data";
        }
 
+repeat:
        data.path  = input_name;
        data.force = symbol_conf.force;
 
        symbol_conf.skip_empty = report.skip_empty;
 
-repeat:
        perf_tool__init(&report.tool, ordered_events);
        report.tool.sample               = process_sample_event;
        report.tool.mmap                 = perf_event__process_mmap;