aboutsummaryrefslogtreecommitdiffstats
path: root/tools/perf/util/hist.h
diff options
context:
space:
mode:
Diffstat (limited to 'tools/perf/util/hist.h')
-rw-r--r--tools/perf/util/hist.h16
1 files changed, 14 insertions, 2 deletions
diff --git a/tools/perf/util/hist.h b/tools/perf/util/hist.h
index 97b8962ff69..da6b84814a5 100644
--- a/tools/perf/util/hist.h
+++ b/tools/perf/util/hist.h
@@ -37,9 +37,21 @@ struct sym_priv {
37 struct sym_ext *ext; 37 struct sym_ext *ext;
38}; 38};
39 39
40/*
41 * The kernel collects the number of events it couldn't send in a stretch and
42 * when possible sends this number in a PERF_RECORD_LOST event. The number of
43 * such "chunks" of lost events is stored in .nr_events[PERF_EVENT_LOST] while
44 * total_lost tells exactly how many events the kernel in fact lost, i.e. it is
45 * the sum of all struct lost_event.lost fields reported.
46 *
47 * The total_period is needed because by default auto-freq is used, so
48 * multipling nr_events[PERF_EVENT_SAMPLE] by a frequency isn't possible to get
49 * the total number of low level events, it is necessary to to sum all struct
50 * sample_event.period and stash the result in total_period.
51 */
40struct events_stats { 52struct events_stats {
41 u64 total; 53 u64 total_period;
42 u64 lost; 54 u64 total_lost;
43 u32 nr_events[PERF_RECORD_HEADER_MAX]; 55 u32 nr_events[PERF_RECORD_HEADER_MAX];
44 u32 nr_unknown_events; 56 u32 nr_unknown_events;
45}; 57};