linux/tools/perf/ui/browsers
Jiebin Sun 1975d27d11 perf c2c: add function view browser UI and cacheline detail
Add the browser front end: create/run/delete the hist_browser and add the
title. The d shortcut opens the existing per-cacheline detail view for the
selected level-3 cacheline. Level-3 entries retain the source cacheline
index, so the shortcut can locate the original entry without relying on a
potentially ambiguous virtual address.

Report a warning when the common model rejects a cacheline coalescing field
list without `iaddr`. Without it, the detail histograms may already have
merged samples from different functions and cannot support reliable
function attribution.

Keep visible-row accounting local to the function view by wrapping the
generic browser refresh callback and recounting the currently reachable
hierarchy before each redraw. This keeps navigation correct when a level-1
row is collapsed while level-3 descendants remain expanded, without adding
C2C-specific hooks to the shared hist_browser. Also handle Ctrl-C like the
other function-view exit keys.

Keep callchains hidden while the function browser runs, restoring the
user's setting while opening the cacheline detail view.

Wire the builder into perf_c2c__browse_function_view().

Signed-off-by: Jiebin Sun <jiebin.sun@intel.com>
Reviewed-by: Tianyou Li <tianyou.li@intel.com>
Reviewed-by: Wangyang Guo <wangyang.guo@intel.com>
Reviewed-by: Ian Rogers <irogers@google.com>
Cc: Dapeng Mi <dapeng1.mi@linux.intel.com>
Cc: James Clark <james.clark@linaro.org>
Cc: Thomas Falcon <thomas.falcon@intel.com>
Signed-off-by: Namhyung Kim <namhyung@kernel.org>
2026-08-17 16:04:05 -07:00
..
annotate-data.c perf ui browser annotate-data: Provide feedback on unhandled hotkeys 2025-04-10 10:45:48 -03:00
annotate.c perf annotate: Be robust to annotating without a thread 2026-07-27 17:30:46 -07:00
Build perf c2c: add function view browser UI and cacheline detail 2026-08-17 16:04:05 -07:00
c2c-function.c perf c2c: add function view browser UI and cacheline detail 2026-08-17 16:04:05 -07:00
header.c perf evlist: Change env variable to session 2025-07-25 10:37:56 -07:00
hists.c perf ui hists: Remove duplicated thread in popup_action 2026-07-27 17:30:48 -07:00
hists.h perf ui/browser/annotate: Use global annotation_options 2023-12-07 17:18:06 -03:00
map.c perf symbol: Add setters for bitfields sharing a byte to avoid concurrent update issues 2026-06-03 16:53:45 -03:00
map.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
res_sample.c perf: script: prefer capstone to XED 2024-02-20 18:07:34 -08:00
scripts.c perf ui scripts: Switch FILENAME_MAX to NAME_MAX 2025-07-22 18:17:53 -07:00