]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
perf report: Switch data file correctly in TUI
authorNamhyung Kim <namhyung@kernel.org>
Tue, 11 Feb 2025 06:07:44 +0000 (22:07 -0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 10 Apr 2025 12:39:22 +0000 (14:39 +0200)
[ Upstream commit 43c2b6139b188d8a756130147f7efd5ddf99f88d ]

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>
Signed-off-by: Sasha Levin <sashal@kernel.org>
tools/perf/builtin-report.c

index 645deec294c8422b0e28326b825da4411a701fab..8700c39680662a2112b91b280611b62716daf532 100644 (file)
@@ -1551,12 +1551,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;