~ubuntu-branches/ubuntu/precise/linux-ti-omap4/precise

« back to all changes in this revision

Viewing changes to tools/perf/util/top.h

  • Committer: Bazaar Package Importer
  • Author(s): Paolo Pisati
  • Date: 2011-06-29 15:23:51 UTC
  • mfrom: (26.1.1 natty-proposed)
  • Revision ID: james.westby@ubuntu.com-20110629152351-xs96tm303d95rpbk
Tags: 3.0.0-1200.2
* Rebased against 3.0.0-6.7
* BSP from TI based on 3.0.0

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#ifndef __PERF_TOP_H
 
2
#define __PERF_TOP_H 1
 
3
 
 
4
#include "types.h"
 
5
#include "../perf.h"
 
6
#include <stddef.h>
 
7
#include <pthread.h>
 
8
#include <linux/list.h>
 
9
#include <linux/rbtree.h>
 
10
 
 
11
struct perf_evlist;
 
12
struct perf_evsel;
 
13
 
 
14
struct sym_entry {
 
15
        struct rb_node          rb_node;
 
16
        struct list_head        node;
 
17
        unsigned long           snap_count;
 
18
        double                  weight;
 
19
        struct map              *map;
 
20
        unsigned long           count[0];
 
21
};
 
22
 
 
23
static inline struct symbol *sym_entry__symbol(struct sym_entry *self)
 
24
{
 
25
       return ((void *)self) + symbol_conf.priv_size;
 
26
}
 
27
 
 
28
struct perf_top {
 
29
        struct perf_evlist *evlist;
 
30
        /*
 
31
         * Symbols will be added here in perf_event__process_sample and will
 
32
         * get out after decayed.
 
33
         */
 
34
        struct list_head   active_symbols;
 
35
        pthread_mutex_t    active_symbols_lock;
 
36
        pthread_cond_t     active_symbols_cond;
 
37
        u64                samples;
 
38
        u64                kernel_samples, us_samples;
 
39
        u64                exact_samples;
 
40
        u64                guest_us_samples, guest_kernel_samples;
 
41
        int                print_entries, count_filter, delay_secs;
 
42
        int                display_weighted, freq, rb_entries;
 
43
        pid_t              target_pid, target_tid;
 
44
        bool               hide_kernel_symbols, hide_user_symbols, zero;
 
45
        const char         *cpu_list;
 
46
        struct sym_entry   *sym_filter_entry;
 
47
        struct perf_evsel  *sym_evsel;
 
48
};
 
49
 
 
50
size_t perf_top__header_snprintf(struct perf_top *top, char *bf, size_t size);
 
51
void perf_top__reset_sample_counters(struct perf_top *top);
 
52
float perf_top__decay_samples(struct perf_top *top, struct rb_root *root);
 
53
void perf_top__find_widths(struct perf_top *top, struct rb_root *root,
 
54
                           int *dso_width, int *dso_short_width, int *sym_width);
 
55
 
 
56
#ifdef NO_NEWT_SUPPORT
 
57
static inline int perf_top__tui_browser(struct perf_top *top __used)
 
58
{
 
59
        return 0;
 
60
}
 
61
#else
 
62
int perf_top__tui_browser(struct perf_top *top);
 
63
#endif
 
64
#endif /* __PERF_TOP_H */