[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20240812194447.2049187-1-namhyung@kernel.org>
Date: Mon, 12 Aug 2024 12:44:44 -0700
From: Namhyung Kim <namhyung@...nel.org>
To: Arnaldo Carvalho de Melo <acme@...nel.org>,
Ian Rogers <irogers@...gle.com>,
Kan Liang <kan.liang@...ux.intel.com>
Cc: Jiri Olsa <jolsa@...nel.org>,
Adrian Hunter <adrian.hunter@...el.com>,
Peter Zijlstra <peterz@...radead.org>,
Ingo Molnar <mingo@...nel.org>,
LKML <linux-kernel@...r.kernel.org>,
linux-perf-users@...r.kernel.org
Subject: [PATCH 0/3] perf annotate-data: Implement folding in TUI browser
Hello,
I've implemented the folding logic to expand/collapse the current entry
in the TUI data type browser. Users can use 'e' or 'E' to toggle the
entry (with or without children, respectively).
Ax example output looks like below.
Annotate type: 'struct socket' (1 samples)
Percent Offset Size Field
- 100.00 0 128 struct socket { ◆
0.00 0 4 socket_state state; ▒
0.00 4 2 short int type; ▒
0.00 8 8 long unsigned int flags; ▒
0.00 16 8 struct file* file; ▒
100.00 24 8 struct sock* sk; ▒
0.00 32 8 struct proto_ops* ops; ▒
- 0.00 64 64 struct socket_wq wq { ▒
- 0.00 64 24 wait_queue_head_t wait { ▒
+ 0.00 64 4 spinlock_t lock; ▒
- 0.00 72 16 struct list_head head { ▒
0.00 72 8 struct list_head* next; ▒
0.00 80 8 struct list_head* prev; ▒
}; ▒
}; ▒
0.00 88 8 struct fasync_struct* fasync_list; ▒
0.00 96 8 long unsigned int flags; ▒
+ 0.00 104 16 struct callback_head rcu; ▒
}; ▒
}; ▒
It hides the detail of spinlock_t and struct callback_head.
Thanks,
Namhyung
Namhyung Kim (3):
perf annotate-data: Support folding in TUI browser
perf annotate-data: Implement folding in TUI browser
perf annotate-data: Show first-level children by default in TUI
tools/perf/ui/browsers/annotate-data.c | 343 ++++++++++++++++++++++---
1 file changed, 313 insertions(+), 30 deletions(-)
--
2.46.0.76.ge559c4bf1a-goog
Powered by blists - more mailing lists