libperf: Handle read format in perf_evsel__read()
authorNamhyung Kim <namhyung@kernel.org>
Fri, 19 Aug 2022 00:36:42 +0000 (17:36 -0700)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Fri, 19 Aug 2022 18:56:27 +0000 (15:56 -0300)
commit89e3106fa25fb1b626a7123dba870159d453e785
tree479a3e263e2c45941b75278480fa07d0c51e2938
parent65ba872a6971c11ceb342c3330f059289c0e6bdb
libperf: Handle read format in perf_evsel__read()

The perf_counts_values should be increased to read the new lost data.
Also adjust values after read according the read format.

This supports PERF_FORMAT_GROUP which has a different data format but
it's only available for leader events.  Currently it doesn't have an API
to read sibling (member) events in the group.  But users may read the
sibling event directly.

Also reading from mmap would be disabled when the read format has ID or
LOST bit as it's not exposed via mmap.

Signed-off-by: Namhyung Kim <namhyung@kernel.org>
Acked-by: Jiri Olsa <jolsa@kernel.org>
Cc: Ian Rogers <irogers@google.com>
Cc: Ingo Molnar <mingo@kernel.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Link: https://lore.kernel.org/r/20220819003644.508916-3-namhyung@kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
tools/lib/perf/evsel.c
tools/lib/perf/include/perf/event.h
tools/lib/perf/include/perf/evsel.h