* [PATCH v2] perf report: Fix sample number stats for branch entry mode
@ 2025-02-20 4:59 Thomas Falcon
2025-02-25 21:58 ` Namhyung Kim
0 siblings, 1 reply; 2+ messages in thread
From: Thomas Falcon @ 2025-02-20 4:59 UTC (permalink / raw)
To: linux-perf-users
Cc: Peter Zijlstra, Ingo Molnar, Arnaldo Carvalho de Melo,
Namhyung Kim, Mark Rutland, Alexander Shishkin, Jiri Olsa,
Ian Rogers, Adrian Hunter, Kan Liang, linux-kernel,
Thomas Falcon
Currently, stats->nr_samples is incremented per entry in the branch stack
instead of per sample taken. As a result, statistics of samples taken
during perf record in --branch-filter or --branch-any mode does not
seem correct. Instead call hists__inc_nr_samples() for each sample taken
instead of for each entry in the branch stack.
Before:
$ ./perf record -e cycles:u -b -c 10000000000 ./tchain_edit
[ perf record: Woken up 1 times to write data ]
[ perf record: Captured and wrote 0.005 MB perf.data (2 samples) ]
$ perf report -D | tail -n 16
Aggregated stats:
TOTAL events: 16
COMM events: 2 (12.5%)
EXIT events: 1 ( 6.2%)
SAMPLE events: 2 (12.5%)
MMAP2 events: 2 (12.5%)
KSYMBOL events: 1 ( 6.2%)
FINISHED_ROUND events: 1 ( 6.2%)
ID_INDEX events: 1 ( 6.2%)
THREAD_MAP events: 1 ( 6.2%)
CPU_MAP events: 1 ( 6.2%)
EVENT_UPDATE events: 2 (12.5%)
TIME_CONV events: 1 ( 6.2%)
FINISHED_INIT events: 1 ( 6.2%)
cpu_core/cycles/u stats:
SAMPLE events: 64
After:
$ ./perf report -D | tail -n 16
Aggregated stats:
TOTAL events: 16
COMM events: 2 (12.5%)
EXIT events: 1 ( 6.2%)
SAMPLE events: 2 (12.5%)
MMAP2 events: 2 (12.5%)
KSYMBOL events: 1 ( 6.2%)
FINISHED_ROUND events: 1 ( 6.2%)
ID_INDEX events: 1 ( 6.2%)
THREAD_MAP events: 1 ( 6.2%)
CPU_MAP events: 1 ( 6.2%)
EVENT_UPDATE events: 2 (12.5%)
TIME_CONV events: 1 ( 6.2%)
FINISHED_INIT events: 1 ( 6.2%)
cpu_core/cycles/u stats:
SAMPLE events: 2
Signed-off-by: Thomas Falcon <thomas.falcon@intel.com>
---
v2: Missed null check for iter->he in iter_finish_branch_entry().
---
tools/perf/util/hist.c | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/tools/perf/util/hist.c b/tools/perf/util/hist.c
index 0f30f843c566..60b584218fa7 100644
--- a/tools/perf/util/hist.c
+++ b/tools/perf/util/hist.c
@@ -975,8 +975,6 @@ iter_add_next_branch_entry(struct hist_entry_iter *iter, struct addr_location *a
if (he == NULL)
return -ENOMEM;
- hists__inc_nr_samples(hists, he->filtered);
-
out:
iter->he = he;
iter->curr++;
@@ -995,9 +993,15 @@ static int
iter_finish_branch_entry(struct hist_entry_iter *iter,
struct addr_location *al __maybe_unused)
{
+ struct evsel *evsel = iter->evsel;
+ struct hists *hists = evsel__hists(evsel);
+
for (int i = 0; i < iter->total; i++)
branch_info__exit(&iter->bi[i]);
+ if (iter->he)
+ hists__inc_nr_samples(hists, iter->he->filtered);
+
zfree(&iter->bi);
iter->he = NULL;
--
2.48.1
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: [PATCH v2] perf report: Fix sample number stats for branch entry mode
2025-02-20 4:59 [PATCH v2] perf report: Fix sample number stats for branch entry mode Thomas Falcon
@ 2025-02-25 21:58 ` Namhyung Kim
0 siblings, 0 replies; 2+ messages in thread
From: Namhyung Kim @ 2025-02-25 21:58 UTC (permalink / raw)
To: linux-perf-users, Thomas Falcon
Cc: Peter Zijlstra, Ingo Molnar, Arnaldo Carvalho de Melo,
Mark Rutland, Alexander Shishkin, Jiri Olsa, Ian Rogers,
Adrian Hunter, Kan Liang, linux-kernel
On Wed, 19 Feb 2025 22:59:42 -0600, Thomas Falcon wrote:
> Currently, stats->nr_samples is incremented per entry in the branch stack
> instead of per sample taken. As a result, statistics of samples taken
> during perf record in --branch-filter or --branch-any mode does not
> seem correct. Instead call hists__inc_nr_samples() for each sample taken
> instead of for each entry in the branch stack.
>
> Before:
>
> [...]
Applied to perf-tools-next, thanks!
Best regards,
Namhyung
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2025-02-25 21:58 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2025-02-20 4:59 [PATCH v2] perf report: Fix sample number stats for branch entry mode Thomas Falcon
2025-02-25 21:58 ` Namhyung Kim
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®