perf c2c report: Add stores related dimension keys
tip-bot for Jiri Olsa
merge botCommit-ID: 0f18896de4e1e833188be2c7086817574df205a5 Gitweb: http://git.kernel.org/tip/0f18896de4e1e833188be2c7086817574df205a5 Author: Jiri Olsa <[email protected]> AuthorDate: Wed, 4 May 2016 10:10:11 +0200 Committer: Arnaldo Carvalho de Melo <[email protected]> CommitDate: Wed, 19 Oct 2016 13:18:31 -0300
perf c2c report: Add stores related dimension keys
Add 5 stores related dimension key wrappers.
First 3 are to be displayed in the main cachelines overall output:
stores, stores_l1hit, stores_l1miss
The latter 2 are to be displayed within single cacheline output:
cl_stores_l1hit, cl_stores_l1miss
They all display bare numbers of stores for cacheline or its related offsets.
Signed-off-by Jiri Olsa <[email protected]>
Cc Andi Kleen <[email protected]>
Cc David Ahern <[email protected]>
Cc Don Zickus <[email protected]>
Cc Joe Mario <[email protected]>
Cc Namhyung Kim <[email protected]>
Cc Peter Zijlstra <[email protected]>
Signed-off-by Arnaldo Carvalho de Melo <[email protected]>
--- tools/perf/builtin-c2c.c | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+)
tools/perf/builtin-c2c.c +48 -0
@@ -412,6 +412,9 @@ __f ## _cmp(struct perf_hpp_fmt *fmt __maybe_unused, \STAT_FN (rmt_hitm)STAT_FN (lcl_hitm ) +STAT_FN (store) +STAT_FN (st_l1hit) +STAT_FN (st_l1miss) #define HEADER_LOW(__h) \ { \
@@ -512,6 +515,46 @@ static struct c2c_dimension dim_cl_lcl_hitm = { .width = 7, }; +static struct c2c_dimension dim_stores = { + .header =HEADER_SPAN ("---- Store Reference ----" ,"Total" ,2 ), + .name ="stores" , + .cmp = store_cmp, + .entry = store_entry, + .width =7 , +}; + +static struct c2c_dimension dim_stores_l1hit = { + .header =HEADER_SPAN_LOW ("L1Hit" ), + .name ="stores_l1hit" , + .cmp = st_l1hit_cmp, + .entry = st_l1hit_entry, + .width =7 , +}; + +static struct c2c_dimension dim_stores_l1miss = { + .header =HEADER_SPAN_LOW ("L1Miss" ), + .name ="stores_l1miss" , + .cmp = st_l1miss_cmp, + .entry = st_l1miss_entry, + .width =7 , +}; + +static struct c2c_dimension dim_cl_stores_l1hit = { + .header =HEADER_SPAN ("-- Store Refs --" ,"L1 Hit" ,1 ), + .name ="cl_stores_l1hit" , + .cmp = st_l1hit_cmp, + .entry = st_l1hit_entry, + .width =7 , +}; + +static struct c2c_dimension dim_cl_stores_l1miss = { + .header =HEADER_SPAN_LOW ("L1 Miss" ), + .name ="cl_stores_l1miss" , + .cmp = st_l1miss_cmp, + .entry = st_l1miss_entry, + .width =7 , +}; +static struct c2c_dimension *dimensions[] = { &dim_dcacheline, &dim_offset,
@@ -521,6 +564,11 @@ static struct c2c_dimension *dimensions[] = { &dim_rmt_hitm, &dim_cl_lcl_hitm, &dim_cl_rmt_hitm, + &dim_stores, + &dim_stores_l1hit, + &dim_stores_l1miss, + &dim_cl_stores_l1hit, + &dim_cl_stores_l1miss, NULL, };