Merge tag 'arc-4.3-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/vgupta/arc
[firefly-linux-kernel-4.4.55.git] / tools / perf / util / evsel.h
index 033981974fd2d14c37ce51fdba957077ab4ff710..298e6bbca200bd4740bddc4e6bb1fce7414d5bf4 100644 (file)
@@ -9,7 +9,7 @@
 #include "xyarray.h"
 #include "symbol.h"
 #include "cpumap.h"
-#include "stat.h"
+#include "counts.h"
 
 struct perf_evsel;
 
@@ -38,6 +38,11 @@ struct cgroup_sel;
  * perf_evsel::config_terms list head.
 */
 enum {
+       PERF_EVSEL__CONFIG_TERM_PERIOD,
+       PERF_EVSEL__CONFIG_TERM_FREQ,
+       PERF_EVSEL__CONFIG_TERM_TIME,
+       PERF_EVSEL__CONFIG_TERM_CALLGRAPH,
+       PERF_EVSEL__CONFIG_TERM_STACK_USER,
        PERF_EVSEL__CONFIG_TERM_MAX,
 };
 
@@ -46,11 +51,18 @@ struct perf_evsel_config_term {
        int     type;
        union {
                u64     period;
+               u64     freq;
+               bool    time;
+               char    *callgraph;
+               u64     stack_user;
        } val;
 };
 
 /** struct perf_evsel - event selector
  *
+ * @evlist - evlist this evsel is in, if it is in one.
+ * @node - To insert it into evlist->entries or in other list_heads, say in
+ *         the event parsing routines.
  * @name - Can be set to retain the original event name passed by the user,
  *         so that when showing results in tools such as 'perf stat', we
  *         show the name used, not some alias.
@@ -64,6 +76,7 @@ struct perf_evsel_config_term {
  */
 struct perf_evsel {
        struct list_head        node;
+       struct perf_evlist      *evlist;
        struct perf_event_attr  attr;
        char                    *filter;
        struct xyarray          *fd;