* [PATCH] perf report: Skip symbols for idle symbols
@ 2022-06-08 5:51 Rafał Miłecki
2022-10-18 12:54 ` Rafał Miłecki
0 siblings, 1 reply; 3+ messages in thread
From: Rafał Miłecki @ 2022-06-08 5:51 UTC (permalink / raw)
To: Peter Zijlstra, Ingo Molnar, Arnaldo Carvalho de Melo
Cc: Mark Rutland, Alexander Shishkin, Jiri Olsa, Namhyung Kim,
linux-perf-users, linux-kernel, Rafał Miłecki
From: Rafał Miłecki <rafal@milecki.pl>
Displaying idle symbols is rather useless and makes reviewing "real"
symbols harder. perf top already skips them so perf report should
probably do the same.
BEFORE
# Overhead Command Shared Object Symbol
# ........ ............... ..................... ...................................
#
75.04% swapper [kernel.kallsyms] [k] arch_cpu_idle
1.05% ksoftirqd/0 [kernel.kallsyms] [k] __pi___inval_dcache_area
0.78% ksoftirqd/0 [kernel.kallsyms] [k] __netif_receive_skb_core
0.75% ksoftirqd/0 [kernel.kallsyms] [k] fib_table_lookup
0.58% ksoftirqd/0 [kernel.kallsyms] [k] __dev_queue_xmit
0.56% ksoftirqd/0 [kernel.kallsyms] [k] bcm4908_enet_start_xmit
0.55% ksoftirqd/0 [kernel.kallsyms] [k] __skb_flow_dissect
0.53% ksoftirqd/0 [kernel.kallsyms] [k] __pi___clean_dcache_area_poc
AFTER
# Overhead Command Shared Object Symbol
# ........ ............... ..................... ...................................
#
4.21% ksoftirqd/0 [kernel.kallsyms] [k] __pi___inval_dcache_area
3.13% ksoftirqd/0 [kernel.kallsyms] [k] __netif_receive_skb_core
3.01% ksoftirqd/0 [kernel.kallsyms] [k] fib_table_lookup
2.32% ksoftirqd/0 [kernel.kallsyms] [k] __dev_queue_xmit
2.23% ksoftirqd/0 [kernel.kallsyms] [k] bcm4908_enet_start_xmit
2.21% ksoftirqd/0 [kernel.kallsyms] [k] __skb_flow_dissect
2.13% ksoftirqd/0 [kernel.kallsyms] [k] __pi___clean_dcache_area_poc
2.00% ksoftirqd/0 [kernel.kallsyms] [k] eth_type_trans
1.86% ksoftirqd/0 [kernel.kallsyms] [k] bcm4908_enet_poll_rx
1.73% ksoftirqd/0 [kernel.kallsyms] [k] __local_bh_enable_ip
1.63% ksoftirqd/0 [kernel.kallsyms] [k] fib_rules_lookup
1.61% ksoftirqd/0 [kernel.kallsyms] [k] bcm4908_enet_poll_tx
(...)
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
---
tools/perf/builtin-report.c | 9 ++++++---
1 file changed, 6 insertions(+), 3 deletions(-)
diff --git a/tools/perf/builtin-report.c b/tools/perf/builtin-report.c
index afe4a5539ecc..7e31af009d44 100644
--- a/tools/perf/builtin-report.c
+++ b/tools/perf/builtin-report.c
@@ -316,9 +316,12 @@ static int process_sample_event(struct perf_tool *tool,
&rep->total_cycles);
}
- ret = hist_entry_iter__add(&iter, &al, rep->max_stack, rep);
- if (ret < 0)
- pr_debug("problem adding hist entry, skipping event\n");
+ if (al.sym == NULL || !al.sym->idle) {
+ ret = hist_entry_iter__add(&iter, &al, rep->max_stack, rep);
+ if (ret < 0)
+ pr_debug("problem adding hist entry, skipping event\n");
+ }
+
out_put:
addr_location__put(&al);
return ret;
--
2.34.1
^ permalink raw reply related [flat|nested] 3+ messages in thread* Re: [PATCH] perf report: Skip symbols for idle symbols
2022-06-08 5:51 [PATCH] perf report: Skip symbols for idle symbols Rafał Miłecki
@ 2022-10-18 12:54 ` Rafał Miłecki
2022-10-18 19:18 ` Arnaldo Carvalho de Melo
0 siblings, 1 reply; 3+ messages in thread
From: Rafał Miłecki @ 2022-10-18 12:54 UTC (permalink / raw)
To: Peter Zijlstra, Ingo Molnar, Arnaldo Carvalho de Melo
Cc: Mark Rutland, Alexander Shishkin, Jiri Olsa, Namhyung Kim,
linux-perf-users, linux-kernel, Rafał Miłecki
On 8.06.2022 07:51, Rafał Miłecki wrote:
> From: Rafał Miłecki <rafal@milecki.pl>
>
> Displaying idle symbols is rather useless and makes reviewing "real"
> symbols harder. perf top already skips them so perf report should
> probably do the same.
>
> BEFORE
>
> # Overhead Command Shared Object Symbol
> # ........ ............... ..................... ...................................
> #
> 75.04% swapper [kernel.kallsyms] [k] arch_cpu_idle
> 1.05% ksoftirqd/0 [kernel.kallsyms] [k] __pi___inval_dcache_area
> 0.78% ksoftirqd/0 [kernel.kallsyms] [k] __netif_receive_skb_core
> 0.75% ksoftirqd/0 [kernel.kallsyms] [k] fib_table_lookup
> 0.58% ksoftirqd/0 [kernel.kallsyms] [k] __dev_queue_xmit
> 0.56% ksoftirqd/0 [kernel.kallsyms] [k] bcm4908_enet_start_xmit
> 0.55% ksoftirqd/0 [kernel.kallsyms] [k] __skb_flow_dissect
> 0.53% ksoftirqd/0 [kernel.kallsyms] [k] __pi___clean_dcache_area_poc
>
> AFTER
>
> # Overhead Command Shared Object Symbol
> # ........ ............... ..................... ...................................
> #
> 4.21% ksoftirqd/0 [kernel.kallsyms] [k] __pi___inval_dcache_area
> 3.13% ksoftirqd/0 [kernel.kallsyms] [k] __netif_receive_skb_core
> 3.01% ksoftirqd/0 [kernel.kallsyms] [k] fib_table_lookup
> 2.32% ksoftirqd/0 [kernel.kallsyms] [k] __dev_queue_xmit
> 2.23% ksoftirqd/0 [kernel.kallsyms] [k] bcm4908_enet_start_xmit
> 2.21% ksoftirqd/0 [kernel.kallsyms] [k] __skb_flow_dissect
> 2.13% ksoftirqd/0 [kernel.kallsyms] [k] __pi___clean_dcache_area_poc
> 2.00% ksoftirqd/0 [kernel.kallsyms] [k] eth_type_trans
> 1.86% ksoftirqd/0 [kernel.kallsyms] [k] bcm4908_enet_poll_rx
> 1.73% ksoftirqd/0 [kernel.kallsyms] [k] __local_bh_enable_ip
> 1.63% ksoftirqd/0 [kernel.kallsyms] [k] fib_rules_lookup
> 1.61% ksoftirqd/0 [kernel.kallsyms] [k] bcm4908_enet_poll_tx
> (...)
>
> Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
Ping? Does it look OK to you?
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] perf report: Skip symbols for idle symbols
2022-10-18 12:54 ` Rafał Miłecki
@ 2022-10-18 19:18 ` Arnaldo Carvalho de Melo
0 siblings, 0 replies; 3+ messages in thread
From: Arnaldo Carvalho de Melo @ 2022-10-18 19:18 UTC (permalink / raw)
To: Rafał Miłecki
Cc: Peter Zijlstra, Ingo Molnar, Mark Rutland, Alexander Shishkin,
Jiri Olsa, Namhyung Kim, linux-perf-users, linux-kernel,
Rafał Miłecki
Em Tue, Oct 18, 2022 at 02:54:07PM +0200, Rafał Miłecki escreveu:
> On 8.06.2022 07:51, Rafał Miłecki wrote:
> > From: Rafał Miłecki <rafal@milecki.pl>
> >
> > Displaying idle symbols is rather useless and makes reviewing "real"
> > symbols harder. perf top already skips them so perf report should
> > probably do the same.
> >
> > BEFORE
> >
> > # Overhead Command Shared Object Symbol
> > # ........ ............... ..................... ...................................
> > #
> > 75.04% swapper [kernel.kallsyms] [k] arch_cpu_idle
> > 1.05% ksoftirqd/0 [kernel.kallsyms] [k] __pi___inval_dcache_area
> > 0.78% ksoftirqd/0 [kernel.kallsyms] [k] __netif_receive_skb_core
> > 0.75% ksoftirqd/0 [kernel.kallsyms] [k] fib_table_lookup
> > 0.58% ksoftirqd/0 [kernel.kallsyms] [k] __dev_queue_xmit
> > 0.56% ksoftirqd/0 [kernel.kallsyms] [k] bcm4908_enet_start_xmit
> > 0.55% ksoftirqd/0 [kernel.kallsyms] [k] __skb_flow_dissect
> > 0.53% ksoftirqd/0 [kernel.kallsyms] [k] __pi___clean_dcache_area_poc
> >
> > AFTER
> >
> > # Overhead Command Shared Object Symbol
> > # ........ ............... ..................... ...................................
> > #
> > 4.21% ksoftirqd/0 [kernel.kallsyms] [k] __pi___inval_dcache_area
> > 3.13% ksoftirqd/0 [kernel.kallsyms] [k] __netif_receive_skb_core
> > 3.01% ksoftirqd/0 [kernel.kallsyms] [k] fib_table_lookup
> > 2.32% ksoftirqd/0 [kernel.kallsyms] [k] __dev_queue_xmit
> > 2.23% ksoftirqd/0 [kernel.kallsyms] [k] bcm4908_enet_start_xmit
> > 2.21% ksoftirqd/0 [kernel.kallsyms] [k] __skb_flow_dissect
> > 2.13% ksoftirqd/0 [kernel.kallsyms] [k] __pi___clean_dcache_area_poc
> > 2.00% ksoftirqd/0 [kernel.kallsyms] [k] eth_type_trans
> > 1.86% ksoftirqd/0 [kernel.kallsyms] [k] bcm4908_enet_poll_rx
> > 1.73% ksoftirqd/0 [kernel.kallsyms] [k] __local_bh_enable_ip
> > 1.63% ksoftirqd/0 [kernel.kallsyms] [k] fib_rules_lookup
> > 1.61% ksoftirqd/0 [kernel.kallsyms] [k] bcm4908_enet_poll_tx
> > (...)
> >
> > Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
>
> Ping? Does it look OK to you?
Its ok, but I wonder if after all those years changing this default
won't confuse users, so perhaps adding a 'I' hotkey to toggle showing
idle symbols?
Additionally having a 'perf config report.hide_idle=true' (for 'perf
top' as well), so that users can just switch to their liking?
Also add an entry to tools/perf/Documentation/tips.txt so that it
appears from time to time on the last line on the screen?
- Arnaldo
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2022-10-19 1:14 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-06-08 5:51 [PATCH] perf report: Skip symbols for idle symbols Rafał Miłecki
2022-10-18 12:54 ` Rafał Miłecki
2022-10-18 19:18 ` Arnaldo Carvalho de Melo
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.