perf stat: Add --for-each-cgroup option
[linux-2.6-microblaze.git] / tools / perf / util / stat.h
index f75ae67..487010c 100644 (file)
@@ -28,6 +28,10 @@ enum perf_stat_evsel_id {
        PERF_STAT_EVSEL_ID__TOPDOWN_SLOTS_RETIRED,
        PERF_STAT_EVSEL_ID__TOPDOWN_FETCH_BUBBLES,
        PERF_STAT_EVSEL_ID__TOPDOWN_RECOVERY_BUBBLES,
+       PERF_STAT_EVSEL_ID__TOPDOWN_RETIRING,
+       PERF_STAT_EVSEL_ID__TOPDOWN_BAD_SPEC,
+       PERF_STAT_EVSEL_ID__TOPDOWN_FE_BOUND,
+       PERF_STAT_EVSEL_ID__TOPDOWN_BE_BOUND,
        PERF_STAT_EVSEL_ID__SMI_NUM,
        PERF_STAT_EVSEL_ID__APERF,
        PERF_STAT_EVSEL_ID__MAX,
@@ -82,6 +86,10 @@ enum stat_type {
        STAT_TOPDOWN_SLOTS_RETIRED,
        STAT_TOPDOWN_FETCH_BUBBLES,
        STAT_TOPDOWN_RECOVERY_BUBBLES,
+       STAT_TOPDOWN_RETIRING,
+       STAT_TOPDOWN_BAD_SPEC,
+       STAT_TOPDOWN_FE_BOUND,
+       STAT_TOPDOWN_BE_BOUND,
        STAT_SMI_NUM,
        STAT_APERF,
        STAT_MAX
@@ -113,10 +121,11 @@ struct perf_stat_config {
        bool                     summary;
        bool                     metric_no_group;
        bool                     metric_no_merge;
+       bool                     stop_read_counter;
        FILE                    *output;
        unsigned int             interval;
        unsigned int             timeout;
-       unsigned int             initial_delay;
+       int                      initial_delay;
        unsigned int             unit_width;
        unsigned int             metric_only_len;
        int                      times;
@@ -133,6 +142,10 @@ struct perf_stat_config {
        struct perf_cpu_map             *cpus_aggr_map;
        u64                     *walltime_run;
        struct rblist            metric_events;
+       int                      ctl_fd;
+       int                      ctl_fd_ack;
+       bool                     ctl_fd_close;
+       const char              *cgroup_list;
 };
 
 void perf_stat__set_big_num(int set);
@@ -230,4 +243,7 @@ perf_evlist__print_counters(struct evlist *evlist,
                            struct target *_target,
                            struct timespec *ts,
                            int argc, const char **argv);
+
+struct metric_expr;
+double test_generic_metric(struct metric_expr *mexp, int cpu, struct runtime_stat *st);
 #endif