~ubuntu-branches/ubuntu/trusty/linux-armadaxp/trusty

« back to all changes in this revision

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

  • Committer: Package Import Robot
  • Author(s): Michael Casadevall, Bryan Wu, Dann Frazier, Michael Casadeall
  • Date: 2012-03-10 15:00:54 UTC
  • mfrom: (1.1.1)
  • Revision ID: package-import@ubuntu.com-20120310150054-flugb39zon8vvgwe
Tags: 3.2.0-1600.1
[ Bryan Wu ]
* UBUNTU: import debian/debian.env and debian.armadaxp

[ Dann Frazier ]
* ARM: Armada XP: remove trailing '/' in dirnames in mvRules.mk

[ Michael Casadeall ]
* tools: add some tools for Marvell Armada XP processor
* kernel: timer tick hacking from Marvell
* kernel: Sheeva Errata: add delay on Sheeva when powering down
* net: add Marvell NFP netfilter
* net: socket and skb modifications made by Marvell
* miscdevice: add minor IDs for some Marvell Armada drivers
* fs: introduce memory pool for splice()
* video: EDID detection updates from Marvell Armada XP patchset
* video: backlight: add Marvell Dove LCD backlight driver
* video: display: add THS8200 display driver
* video: framebuffer: add Marvell Dove and Armada XP processor onchip LCD controller driver
* usbtest: add Interrupt transfer testing by Marvell Armada XP code
* usb: ehci: add support for Marvell EHCI controler
* tty/serial: 8250: add support for Marvell Armada XP processor and DeviceTree work
* rtc: add support for Marvell Armada XP onchip RTC controller
* net: pppoe: add Marvell ethernet NFP hook in PPPoE networking driver
* mtd: nand: add support for Marvell Armada XP Nand Flash Controller
* mtd: maps: add Marvell Armada XP specific map driver
* mmc: add support for Marvell Armada XP MMC/SD host controller
* i2c: add support for Marvell Armada XP onchip i2c bus controller
* hwmon: add Kconfig option for Armada XP onchip thermal sensor driver
* dmaengine: add Net DMA support for splice and update Marvell XOR DMA engine driver
* ata: add support for Marvell Armada XP SATA controller and update some quirks
* ARM: add Marvell Armada XP machine to mach-types
* ARM: oprofile: add support for Marvell PJ4B core
* ARM: mm: more ARMv6 switches for Marvell Armada XP
* ARM: remove static declaration to allow compilation
* ARM: alignment access fault trick
* ARM: mm: skip some fault fixing when run on NONE SMP ARMv6 mode during early abort event
* ARM: mm: add Marvell Sheeva CPU Architecture for PJ4B
* ARM: introduce optimized copy operation for Marvell Armada XP
* ARM: SAUCE: hardware breakpoint trick for Marvell Armada XP
* ARM: big endian and little endian tricks for Marvell Armada XP
* ARM: SAUCE: Add Marvell Armada XP build rules to arch/arm/kernel/Makefile
* ARM: vfp: add special handling for Marvell Armada XP
* ARM: add support for Marvell U-Boot
* ARM: add mv_controller_num for ARM PCI drivers
* ARM: add support for local PMUs, general SMP tweaks and cache flushing
* ARM: add Marvell device identifies in glue-proc.h
* ARM: add IPC driver support for Marvell platforms
* ARM: add DMA mapping for Marvell platforms
* ARM: add Sheeva errata and PJ4B code for booting
* ARM: update Kconfig and Makefile to include Marvell Armada XP platforms
* ARM: Armada XP: import LSP from Marvell for Armada XP 3.2 kernel enablement

Show diffs side-by-side

added added

removed removed

Lines of Context:
4
4
#include "types.h"
5
5
#include "../perf.h"
6
6
#include <stddef.h>
7
 
#include <pthread.h>
8
 
#include <linux/list.h>
9
 
#include <linux/rbtree.h>
10
7
 
11
8
struct perf_evlist;
12
9
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
 
}
 
10
struct perf_session;
27
11
 
28
12
struct perf_top {
29
13
        struct perf_evlist *evlist;
31
15
         * Symbols will be added here in perf_event__process_sample and will
32
16
         * get out after decayed.
33
17
         */
34
 
        struct list_head   active_symbols;
35
 
        pthread_mutex_t    active_symbols_lock;
36
 
        pthread_cond_t     active_symbols_cond;
37
18
        u64                samples;
38
19
        u64                kernel_samples, us_samples;
39
20
        u64                exact_samples;
40
21
        u64                guest_us_samples, guest_kernel_samples;
41
22
        int                print_entries, count_filter, delay_secs;
42
 
        int                display_weighted, freq, rb_entries;
 
23
        int                freq;
43
24
        pid_t              target_pid, target_tid;
44
25
        bool               hide_kernel_symbols, hide_user_symbols, zero;
45
26
        const char         *cpu_list;
46
 
        struct sym_entry   *sym_filter_entry;
 
27
        struct hist_entry  *sym_filter_entry;
47
28
        struct perf_evsel  *sym_evsel;
 
29
        struct perf_session *session;
48
30
};
49
31
 
50
32
size_t perf_top__header_snprintf(struct perf_top *top, char *bf, size_t size);
51
33
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
34
#endif /* __PERF_TOP_H */