|
@@ -50,6 +50,8 @@ struct perf_c2c {
|
|
|
int cpus_cnt;
|
|
|
int *cpu2node;
|
|
|
int node_info;
|
|
|
+
|
|
|
+ bool show_src;
|
|
|
};
|
|
|
|
|
|
static struct perf_c2c c2c;
|
|
@@ -1363,6 +1365,11 @@ static struct c2c_dimension dim_cpucnt = {
|
|
|
.width = 8,
|
|
|
};
|
|
|
|
|
|
+static struct c2c_dimension dim_srcline = {
|
|
|
+ .name = "cl_srcline",
|
|
|
+ .se = &sort_srcline,
|
|
|
+};
|
|
|
+
|
|
|
static struct c2c_dimension *dimensions[] = {
|
|
|
&dim_dcacheline,
|
|
|
&dim_offset,
|
|
@@ -1401,6 +1408,7 @@ static struct c2c_dimension *dimensions[] = {
|
|
|
&dim_mean_lcl,
|
|
|
&dim_mean_load,
|
|
|
&dim_cpucnt,
|
|
|
+ &dim_srcline,
|
|
|
NULL,
|
|
|
};
|
|
|
|
|
@@ -1606,8 +1614,11 @@ static int c2c_hists__reinit(struct c2c_hists *c2c_hists,
|
|
|
return hpp_list__parse(&c2c_hists->list, output, sort);
|
|
|
}
|
|
|
|
|
|
-static int filter_cb(struct hist_entry *he __maybe_unused)
|
|
|
+static int filter_cb(struct hist_entry *he)
|
|
|
{
|
|
|
+ if (c2c.show_src && !he->srcline)
|
|
|
+ he->srcline = hist_entry__get_srcline(he);
|
|
|
+
|
|
|
return 0;
|
|
|
}
|
|
|
|