root/tools/perf/util/counts.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


DEFINITIONS

This source file includes following definitions.
  1. perf_counts
  2. perf_counts__is_loaded
  3. perf_counts__set_loaded

   1 /* SPDX-License-Identifier: GPL-2.0 */
   2 #ifndef __PERF_COUNTS_H
   3 #define __PERF_COUNTS_H
   4 
   5 #include <linux/types.h>
   6 #include <internal/xyarray.h>
   7 #include <perf/evsel.h>
   8 #include <stdbool.h>
   9 
  10 struct evsel;
  11 
  12 struct perf_counts {
  13         s8                        scaled;
  14         struct perf_counts_values aggr;
  15         struct xyarray            *values;
  16         struct xyarray            *loaded;
  17 };
  18 
  19 
  20 static inline struct perf_counts_values*
  21 perf_counts(struct perf_counts *counts, int cpu, int thread)
  22 {
  23         return xyarray__entry(counts->values, cpu, thread);
  24 }
  25 
  26 static inline bool
  27 perf_counts__is_loaded(struct perf_counts *counts, int cpu, int thread)
  28 {
  29         return *((bool *) xyarray__entry(counts->loaded, cpu, thread));
  30 }
  31 
  32 static inline void
  33 perf_counts__set_loaded(struct perf_counts *counts, int cpu, int thread, bool loaded)
  34 {
  35         *((bool *) xyarray__entry(counts->loaded, cpu, thread)) = loaded;
  36 }
  37 
  38 struct perf_counts *perf_counts__new(int ncpus, int nthreads);
  39 void perf_counts__delete(struct perf_counts *counts);
  40 
  41 void perf_evsel__reset_counts(struct evsel *evsel);
  42 int perf_evsel__alloc_counts(struct evsel *evsel, int ncpus, int nthreads);
  43 void perf_evsel__free_counts(struct evsel *evsel);
  44 
  45 #endif /* __PERF_COUNTS_H */

/* [<][>][^][v][top][bottom][index][help] */