From: Namhyung Kim <namhyung@kernel.org>
To: Arnaldo Carvalho de Melo <acme@kernel.org>,
Ian Rogers <irogers@google.com>,
Kan Liang <kan.liang@linux.intel.com>
Cc: Jiri Olsa <jolsa@kernel.org>,
Adrian Hunter <adrian.hunter@intel.com>,
Peter Zijlstra <peterz@infradead.org>,
Ingo Molnar <mingo@kernel.org>,
LKML <linux-kernel@vger.kernel.org>,
linux-perf-users@vger.kernel.org
Subject: [PATCH 0/4] perf report: Omit dummy events in the output (v2)
Date: Mon, 3 Jun 2024 15:44:08 -0700 [thread overview]
Message-ID: <20240603224412.1910049-1-namhyung@kernel.org> (raw)
Hello,
This work is to make the output compact by removing dummy events in
the output. The dummy events are used to save side-band information
like task creation or memory address space change using mmap(2). But
after collecting these, it's not used because it won't have any
samples.
v2 changes)
* just hide the (dummy) event instead of removing it from evlist
Sometimes users want to run perf report --group to show all recorded
events together but they are not interested in those dummy events.
This just wastes the precious screen space so we want to get rid of
them after use.
perf report already has --skip-empty option to skip 0 result in the
stat output. I think we can extend it to skip empty events that have
no samples.
Example output:
Before)
#
# Samples: 232 of events 'cpu/mem-loads,ldlat=30/P, cpu/mem-stores/P, dummy:u'
# Event count (approx.): 3089861
#
# Overhead Command Shared Object Symbol
# ........................ ........... ................. .....................................
#
9.29% 0.00% 0.00% swapper [kernel.kallsyms] [k] update_blocked_averages
5.26% 0.15% 0.00% swapper [kernel.kallsyms] [k] __update_load_avg_se
4.15% 0.00% 0.00% perf-exec [kernel.kallsyms] [k] slab_update_freelist.isra.0
3.87% 0.00% 0.00% perf-exec [kernel.kallsyms] [k] memcg_slab_post_alloc_hook
3.79% 0.17% 0.00% swapper [kernel.kallsyms] [k] enqueue_task_fair
3.63% 0.00% 0.00% sleep [kernel.kallsyms] [k] next_uptodate_page
2.86% 0.00% 0.00% swapper [kernel.kallsyms] [k] __update_load_avg_cfs_rq
2.78% 0.00% 0.00% swapper [kernel.kallsyms] [k] __schedule
2.34% 0.00% 0.00% swapper [kernel.kallsyms] [k] intel_idle
2.32% 0.97% 0.00% swapper [kernel.kallsyms] [k] psi_group_change
After)
#
# Samples: 232 of events 'cpu/mem-loads,ldlat=30/P, cpu/mem-stores/P'
# Event count (approx.): 3089861
#
# Overhead Command Shared Object Symbol
# ................ ........... ................. .....................................
#
9.29% 0.00% swapper [kernel.kallsyms] [k] update_blocked_averages
5.26% 0.15% swapper [kernel.kallsyms] [k] __update_load_avg_se
4.15% 0.00% perf-exec [kernel.kallsyms] [k] slab_update_freelist.isra.0
3.87% 0.00% perf-exec [kernel.kallsyms] [k] memcg_slab_post_alloc_hook
3.79% 0.17% swapper [kernel.kallsyms] [k] enqueue_task_fair
3.63% 0.00% sleep [kernel.kallsyms] [k] next_uptodate_page
2.86% 0.00% swapper [kernel.kallsyms] [k] __update_load_avg_cfs_rq
2.78% 0.00% swapper [kernel.kallsyms] [k] __schedule
2.34% 0.00% swapper [kernel.kallsyms] [k] intel_idle
2.32% 0.97% swapper [kernel.kallsyms] [k] psi_group_change
Now 'Overhead' column only has two values for mem-loads and mem-stores.
Thanks,
Namhyung
Namhyung Kim (4):
perf hist: Factor out __hpp__fmt_print()
perf hist: Simplify __hpp_fmt() using hpp_fmt_data
perf hist: Add symbol_conf.skip_empty
perf hist: Honor symbol_conf.skip_empty
tools/perf/builtin-annotate.c | 4 +-
tools/perf/builtin-report.c | 12 +--
tools/perf/ui/hist.c | 144 ++++++++++++++++-----------------
tools/perf/ui/stdio/hist.c | 5 +-
tools/perf/util/events_stats.h | 3 +-
tools/perf/util/evsel.c | 13 ++-
tools/perf/util/hist.c | 6 +-
tools/perf/util/hist.h | 3 +-
tools/perf/util/python.c | 3 +
tools/perf/util/session.c | 5 +-
tools/perf/util/session.h | 3 +-
tools/perf/util/symbol_conf.h | 3 +-
12 files changed, 105 insertions(+), 99 deletions(-)
--
2.45.1.288.g0e0cd299f1-goog
next reply other threads:[~2024-06-03 22:44 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-06-03 22:44 Namhyung Kim [this message]
2024-06-03 22:44 ` [PATCH 1/4] perf hist: Factor out __hpp__fmt_print() Namhyung Kim
2024-06-04 15:07 ` Arnaldo Carvalho de Melo
2024-06-05 0:42 ` Namhyung Kim
2024-06-03 22:44 ` [PATCH 2/4] perf hist: Simplify __hpp_fmt() using hpp_fmt_data Namhyung Kim
2024-06-04 15:18 ` Arnaldo Carvalho de Melo
2024-06-05 0:47 ` Namhyung Kim
2024-06-03 22:44 ` [PATCH 3/4] perf hist: Add symbol_conf.skip_empty Namhyung Kim
2024-06-03 22:44 ` [PATCH 4/4] perf hist: Honor symbol_conf.skip_empty Namhyung Kim
2024-06-04 15:24 ` [PATCH 0/4] perf report: Omit dummy events in the output (v2) Arnaldo Carvalho de Melo
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20240603224412.1910049-1-namhyung@kernel.org \
--to=namhyung@kernel.org \
--cc=acme@kernel.org \
--cc=adrian.hunter@intel.com \
--cc=irogers@google.com \
--cc=jolsa@kernel.org \
--cc=kan.liang@linux.intel.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-perf-users@vger.kernel.org \
--cc=mingo@kernel.org \
--cc=peterz@infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).