Just like the other flags in the AUX records, report a summary of the Collisions if there were any.
Cc: Mike Leach mike.leach@linaro.org Cc: Mathieu Poirier mathieu.poirier@linaro.org Cc: Leo Yan leo.yan@linaro.org Cc: James Clark james.clark@arm.com Cc: Arnaldo Carvalho de Melo acme@kernel.org Cc: Mark Rutland mark.rutland@arm.com Cc: Jiri Olsa jolsa@redhat.com Cc: linux-perf-users@vger.kernel.org Cc: Alexander Shishkin alexander.shishkin@linux.intel.com Signed-off-by: Suzuki K Poulose suzuki.poulose@arm.com --- tools/perf/util/events_stats.h | 1 + tools/perf/util/session.c | 9 +++++++++ 2 files changed, 10 insertions(+)
diff --git a/tools/perf/util/events_stats.h b/tools/perf/util/events_stats.h index 3480bafd414b..1b0006092265 100644 --- a/tools/perf/util/events_stats.h +++ b/tools/perf/util/events_stats.h @@ -30,6 +30,7 @@ struct events_stats { u64 total_lost_samples; u64 total_aux_lost; u64 total_aux_partial; + u64 total_aux_collision; u64 total_invalid_chains; u32 nr_events[PERF_RECORD_HEADER_MAX]; u32 nr_lost_warned; diff --git a/tools/perf/util/session.c b/tools/perf/util/session.c index 51f727402912..59b6c3fe0d01 100644 --- a/tools/perf/util/session.c +++ b/tools/perf/util/session.c @@ -1540,6 +1540,8 @@ static int machines__deliver_event(struct machines *machines, evlist->stats.total_aux_lost += 1; if (event->aux.flags & PERF_AUX_FLAG_PARTIAL) evlist->stats.total_aux_partial += 1; + if (event->aux.flags & PERF_AUX_FLAG_COLLISION) + evlist->stats.total_aux_collision += 1; } return tool->aux(tool, event, sample, machine); case PERF_RECORD_ITRACE_START: @@ -1895,6 +1897,13 @@ static void perf_session__warn_about_errors(const struct perf_session *session) ""); }
+ if (session->tool->aux == perf_event__process_aux && + stats->total_aux_collision != 0) { + ui__warning("AUX data detected collision %" PRIu64 " times out of %u!\n\n", + stats->total_aux_collision, + stats->nr_events[PERF_RECORD_AUX]); + } + if (stats->nr_unknown_events != 0) { ui__warning("Found %u unknown events!\n\n" "Is this an older tool processing a perf.data "
On Wed, Jul 28, 2021 at 10:12:19AM +0100, Suzuki Kuruppassery Poulose wrote:
Just like the other flags in the AUX records, report a summary of the Collisions if there were any.
Cc: Mike Leach mike.leach@linaro.org Cc: Mathieu Poirier mathieu.poirier@linaro.org Cc: Leo Yan leo.yan@linaro.org Cc: James Clark james.clark@arm.com Cc: Arnaldo Carvalho de Melo acme@kernel.org Cc: Mark Rutland mark.rutland@arm.com Cc: Jiri Olsa jolsa@redhat.com Cc: linux-perf-users@vger.kernel.org Cc: Alexander Shishkin alexander.shishkin@linux.intel.com Signed-off-by: Suzuki K Poulose suzuki.poulose@arm.com
The change looks good to me:
Reviewed-by: Leo Yan leo.yan@linaro.org
tools/perf/util/events_stats.h | 1 + tools/perf/util/session.c | 9 +++++++++ 2 files changed, 10 insertions(+)
diff --git a/tools/perf/util/events_stats.h b/tools/perf/util/events_stats.h index 3480bafd414b..1b0006092265 100644 --- a/tools/perf/util/events_stats.h +++ b/tools/perf/util/events_stats.h @@ -30,6 +30,7 @@ struct events_stats { u64 total_lost_samples; u64 total_aux_lost; u64 total_aux_partial;
- u64 total_aux_collision; u64 total_invalid_chains; u32 nr_events[PERF_RECORD_HEADER_MAX]; u32 nr_lost_warned;
diff --git a/tools/perf/util/session.c b/tools/perf/util/session.c index 51f727402912..59b6c3fe0d01 100644 --- a/tools/perf/util/session.c +++ b/tools/perf/util/session.c @@ -1540,6 +1540,8 @@ static int machines__deliver_event(struct machines *machines, evlist->stats.total_aux_lost += 1; if (event->aux.flags & PERF_AUX_FLAG_PARTIAL) evlist->stats.total_aux_partial += 1;
if (event->aux.flags & PERF_AUX_FLAG_COLLISION)
} return tool->aux(tool, event, sample, machine); case PERF_RECORD_ITRACE_START:evlist->stats.total_aux_collision += 1;
@@ -1895,6 +1897,13 @@ static void perf_session__warn_about_errors(const struct perf_session *session) ""); }
- if (session->tool->aux == perf_event__process_aux &&
stats->total_aux_collision != 0) {
ui__warning("AUX data detected collision %" PRIu64 " times out of %u!\n\n",
stats->total_aux_collision,
stats->nr_events[PERF_RECORD_AUX]);
- }
- if (stats->nr_unknown_events != 0) { ui__warning("Found %u unknown events!\n\n" "Is this an older tool processing a perf.data "
-- 2.24.1
On Sat, Jul 31, 2021 at 09:38:47AM +0800, Leo Yan wrote:
On Wed, Jul 28, 2021 at 10:12:19AM +0100, Suzuki Kuruppassery Poulose wrote:
Just like the other flags in the AUX records, report a summary of the Collisions if there were any.
Cc: Mike Leach mike.leach@linaro.org Cc: Mathieu Poirier mathieu.poirier@linaro.org Cc: Leo Yan leo.yan@linaro.org Cc: James Clark james.clark@arm.com Cc: Arnaldo Carvalho de Melo acme@kernel.org Cc: Mark Rutland mark.rutland@arm.com Cc: Jiri Olsa jolsa@redhat.com Cc: linux-perf-users@vger.kernel.org Cc: Alexander Shishkin alexander.shishkin@linux.intel.com Signed-off-by: Suzuki K Poulose suzuki.poulose@arm.com
The change looks good to me:
Reviewed-by: Leo Yan leo.yan@linaro.org
Reviewed-by: Mathieu Poirier mathieu.poirier@linaro.org
tools/perf/util/events_stats.h | 1 + tools/perf/util/session.c | 9 +++++++++ 2 files changed, 10 insertions(+)
diff --git a/tools/perf/util/events_stats.h b/tools/perf/util/events_stats.h index 3480bafd414b..1b0006092265 100644 --- a/tools/perf/util/events_stats.h +++ b/tools/perf/util/events_stats.h @@ -30,6 +30,7 @@ struct events_stats { u64 total_lost_samples; u64 total_aux_lost; u64 total_aux_partial;
- u64 total_aux_collision; u64 total_invalid_chains; u32 nr_events[PERF_RECORD_HEADER_MAX]; u32 nr_lost_warned;
diff --git a/tools/perf/util/session.c b/tools/perf/util/session.c index 51f727402912..59b6c3fe0d01 100644 --- a/tools/perf/util/session.c +++ b/tools/perf/util/session.c @@ -1540,6 +1540,8 @@ static int machines__deliver_event(struct machines *machines, evlist->stats.total_aux_lost += 1; if (event->aux.flags & PERF_AUX_FLAG_PARTIAL) evlist->stats.total_aux_partial += 1;
if (event->aux.flags & PERF_AUX_FLAG_COLLISION)
} return tool->aux(tool, event, sample, machine); case PERF_RECORD_ITRACE_START:evlist->stats.total_aux_collision += 1;
@@ -1895,6 +1897,13 @@ static void perf_session__warn_about_errors(const struct perf_session *session) ""); }
- if (session->tool->aux == perf_event__process_aux &&
stats->total_aux_collision != 0) {
ui__warning("AUX data detected collision %" PRIu64 " times out of %u!\n\n",
stats->total_aux_collision,
stats->nr_events[PERF_RECORD_AUX]);
- }
- if (stats->nr_unknown_events != 0) { ui__warning("Found %u unknown events!\n\n" "Is this an older tool processing a perf.data "
-- 2.24.1
Em Thu, Sep 02, 2021 at 01:25:20PM -0600, Mathieu Poirier escreveu:
On Sat, Jul 31, 2021 at 09:38:47AM +0800, Leo Yan wrote:
On Wed, Jul 28, 2021 at 10:12:19AM +0100, Suzuki Kuruppassery Poulose wrote:
Just like the other flags in the AUX records, report a summary of the Collisions if there were any.
Cc: Mike Leach mike.leach@linaro.org Cc: Mathieu Poirier mathieu.poirier@linaro.org Cc: Leo Yan leo.yan@linaro.org Cc: James Clark james.clark@arm.com Cc: Arnaldo Carvalho de Melo acme@kernel.org Cc: Mark Rutland mark.rutland@arm.com Cc: Jiri Olsa jolsa@redhat.com Cc: linux-perf-users@vger.kernel.org Cc: Alexander Shishkin alexander.shishkin@linux.intel.com Signed-off-by: Suzuki K Poulose suzuki.poulose@arm.com
The change looks good to me:
Reviewed-by: Leo Yan leo.yan@linaro.org
Reviewed-by: Mathieu Poirier mathieu.poirier@linaro.org
Thanks, applied.
- Arnaldo