diff options
| author | Mark Brown <[email protected]> | 2015-10-12 18:09:27 +0100 | 
|---|---|---|
| committer | Mark Brown <[email protected]> | 2015-10-12 18:09:27 +0100 | 
| commit | 79828b4fa835f73cdaf4bffa48696abdcbea9d02 (patch) | |
| tree | 5e0fa7156acb75ba603022bc807df8f2fedb97a8 /tools/perf/util/annotate.h | |
| parent | 721b51fcf91898299d96f4b72cb9434cda29dce6 (diff) | |
| parent | 8c1a9d6323abf0fb1e5dad96cf3f1c783505ea5a (diff) | |
Merge remote-tracking branch 'asoc/fix/rt5645' into asoc-fix-rt5645
Diffstat (limited to 'tools/perf/util/annotate.h')
| -rw-r--r-- | tools/perf/util/annotate.h | 19 | 
1 files changed, 19 insertions, 0 deletions
| diff --git a/tools/perf/util/annotate.h b/tools/perf/util/annotate.h index 7e78e6c27078..e9996092a093 100644 --- a/tools/perf/util/annotate.h +++ b/tools/perf/util/annotate.h @@ -59,6 +59,8 @@ struct disasm_line {  	char		    *name;  	struct ins	    *ins;  	int		    line_nr; +	float		    ipc; +	u64		    cycles;  	struct ins_operands ops;  }; @@ -79,6 +81,17 @@ struct sym_hist {  	u64		addr[0];  }; +struct cyc_hist { +	u64	start; +	u64	cycles; +	u64	cycles_aggr; +	u32	num; +	u32	num_aggr; +	u8	have_start; +	/* 1 byte padding */ +	u16	reset; +}; +  struct source_line_samples {  	double		percent;  	double		percent_sum; @@ -97,6 +110,7 @@ struct source_line {   * @histogram: Array of addr hit histograms per event being monitored   * @lines: If 'print_lines' is specified, per source code line percentages   * @source: source parsed from a disassembler like objdump -dS + * @cyc_hist: Average cycles per basic block   *   * lines is allocated, percentages calculated and all sorted by percentage   * when the annotation is about to be presented, so the percentages are for @@ -109,6 +123,7 @@ struct annotated_source {  	struct source_line *lines;  	int    		   nr_histograms;  	int    		   sizeof_sym_hist; +	struct cyc_hist	   *cycles_hist;  	struct sym_hist	   histograms[0];  }; @@ -130,6 +145,10 @@ static inline struct annotation *symbol__annotation(struct symbol *sym)  int addr_map_symbol__inc_samples(struct addr_map_symbol *ams, int evidx); +int addr_map_symbol__account_cycles(struct addr_map_symbol *ams, +				    struct addr_map_symbol *start, +				    unsigned cycles); +  int hist_entry__inc_addr_samples(struct hist_entry *he, int evidx, u64 addr);  int symbol__alloc_hist(struct symbol *sym); |