Lines Matching refs:c2c

136 static struct perf_c2c c2c;  variable
146 c2c_he->cpuset = bitmap_zalloc(c2c.cpus_cnt); in c2c_he_zalloc()
150 c2c_he->nodeset = bitmap_zalloc(c2c.nodes_cnt); in c2c_he_zalloc()
154 c2c_he->node_stats = zalloc(c2c.nodes_cnt * sizeof(*c2c_he->node_stats)); in c2c_he_zalloc()
245 node = mem2node__node(&c2c.mem2node, sample->phys_addr); in c2c_he__set_node()
281 struct c2c_hists *c2c_hists = &c2c.hists; in process_sample_event()
298 if (c2c.stitch_lbr) in process_sample_event()
348 int node = c2c.cpu2node[cpu]; in process_sample_event()
352 c2c_hists = he__get_c2c_hists(he, c2c.cl_sort, 2); in process_sample_event()
387 static struct perf_c2c c2c = { variable
454 if (!c2c.symbol_full) in symbol_width()
821 switch (c2c.display) { in percent_costly_snoop()
1200 for (node = 0; node < c2c.nodes_cnt; node++) { in node_entry()
1201 DECLARE_BITMAP(set, c2c.cpus_cnt); in node_entry()
1203 bitmap_zero(set, c2c.cpus_cnt); in node_entry()
1204 bitmap_and(set, c2c_he->cpuset, c2c.nodes[node], c2c.cpus_cnt); in node_entry()
1206 if (bitmap_empty(set, c2c.cpus_cnt)) { in node_entry()
1207 if (c2c.node_info == 1) { in node_entry()
1219 switch (c2c.node_info) { in node_entry()
1226 int num = bitmap_weight(set, c2c.cpus_cnt); in node_entry()
1232 switch (c2c.display) { in node_entry()
1269 ret = bitmap_scnprintf(set, c2c.cpus_cnt, hpp->buf, hpp->size); in node_entry()
1321 scnprintf(buf, 10, "%d", bitmap_weight(c2c_he->cpuset, c2c.cpus_cnt)); in cpucnt_entry()
2110 if (c2c.show_all) in he__display()
2115 switch (c2c.display) { in he__display()
2150 switch (c2c.display) { in is_valid_hist_entry()
2173 dim = &c2c.hists == c2c_he->hists ? in set_node_width()
2188 if (!bitmap_empty(c2c_he->nodeset, c2c.nodes_cnt)) { in set_nodestr()
2189 len = bitmap_scnprintf(c2c_he->nodeset, c2c.nodes_cnt, in set_nodestr()
2215 if (c2c.show_src && !he->srcline) in filter_cb()
2230 bool display = he__display(he, &c2c.shared_clines_stats); in resort_cl_cb()
2241 c2c_hists__reinit(c2c_hists, c2c.cl_output, c2c.cl_resort); in resort_cl_cb()
2259 switch (c2c.node_info) { in setup_nodes_header()
2264 if (c2c.display == DISPLAY_SNP_PEER) in setup_nodes_header()
2287 if (c2c.node_info > 2) in setup_nodes()
2288 c2c.node_info = 2; in setup_nodes()
2290 c2c.nodes_cnt = session->header.env.nr_numa_nodes; in setup_nodes()
2291 c2c.cpus_cnt = session->header.env.nr_cpus_avail; in setup_nodes()
2297 nodes = zalloc(sizeof(unsigned long *) * c2c.nodes_cnt); in setup_nodes()
2301 c2c.nodes = nodes; in setup_nodes()
2303 cpu2node = zalloc(sizeof(int) * c2c.cpus_cnt); in setup_nodes()
2307 for (idx = 0; idx < c2c.cpus_cnt; idx++) in setup_nodes()
2310 c2c.cpu2node = cpu2node; in setup_nodes()
2312 for (node = 0; node < c2c.nodes_cnt; node++) { in setup_nodes()
2316 set = bitmap_zalloc(c2c.cpus_cnt); in setup_nodes()
2349 c2c.shared_clines++; in resort_shared_cl_cb()
2350 c2c_add_stats(&c2c.shared_clines_stats, &c2c_he->stats); in resort_shared_cl_cb()
2377 struct c2c_stats *stats = &c2c.hists.stats; in print_c2c__display_stats()
2423 struct c2c_stats *stats = &c2c.shared_clines_stats; in print_shared_cacheline_info()
2429 fprintf(out, " Total Shared Cache Lines : %10d\n", c2c.shared_clines); in print_shared_cacheline_info()
2478 if (c2c.display != DISPLAY_SNP_PEER) in print_pareto()
2501 nd = rb_first_cached(&c2c.hists.hists.entries); in print_pareto()
2530 display_str[c2c.display]); in print_c2c_info()
2531 fprintf(out, " Cacheline data grouping : %s\n", c2c.cl_sort); in print_c2c_info()
2544 if (c2c.stats_only) in perf_c2c__hists_fprintf()
2553 hists__fprintf(&c2c.hists.hists, true, 0, 0, 0, stdout, true); in perf_c2c__hists_fprintf()
2638 c2c.symbol_full = false; in perf_c2c__browse_cacheline()
2660 c2c.symbol_full = !c2c.symbol_full; in perf_c2c__browse_cacheline()
2663 c2c.node_info = (c2c.node_info + 1) % 3; in perf_c2c__browse_cacheline()
2688 display_str[c2c.display]); in perf_c2c_browser__title()
2751 perf_c2c__hists_browse(&c2c.hists.hists); in perf_c2c_display()
2794 if (!c2c.use_stdio) { in ui_quirks()
2800 dim_percent_costly_snoop.header = percent_costly_snoop_header[c2c.display]; in ui_quirks()
2872 if (c2c.stitch_lbr && (mode != CALLCHAIN_LBR)) { in setup_callchain()
2875 c2c.stitch_lbr = false; in setup_callchain()
2888 c2c.display = DISPLAY_TOT_HITM; in setup_display()
2890 c2c.display = DISPLAY_RMT_HITM; in setup_display()
2892 c2c.display = DISPLAY_LCL_HITM; in setup_display()
2894 c2c.display = DISPLAY_SNP_PEER; in setup_display()
2940 if (asprintf(&c2c.cl_output, in build_cl_output()
2942 c2c.use_stdio ? "cl_num_empty," : "", in build_cl_output()
2943 c2c.display == DISPLAY_SNP_PEER ? "percent_rmt_peer," in build_cl_output()
2954 c2c.display == DISPLAY_SNP_PEER ? "mean_rmt_peer," in build_cl_output()
2969 c2c.show_src = add_src; in build_cl_output()
2980 if (asprintf(&c2c.cl_sort, "offset,%s", c) < 0) in setup_coalesce()
2983 if (build_cl_output(c2c.cl_sort, no_source)) in setup_coalesce()
2986 if (c2c.display == DISPLAY_TOT_HITM) in setup_coalesce()
2988 else if (c2c.display == DISPLAY_RMT_HITM) in setup_coalesce()
2990 else if (c2c.display == DISPLAY_LCL_HITM) in setup_coalesce()
2992 else if (c2c.display == DISPLAY_SNP_PEER) in setup_coalesce()
2995 if (asprintf(&c2c.cl_resort, "offset,%s", sort_str) < 0) in setup_coalesce()
2998 pr_debug("coalesce sort fields: %s\n", c2c.cl_sort); in setup_coalesce()
2999 pr_debug("coalesce resort fields: %s\n", c2c.cl_resort); in setup_coalesce()
3000 pr_debug("coalesce output fields: %s\n", c2c.cl_output); in setup_coalesce()
3026 OPT_INCR('N', "node-info", &c2c.node_info, in perf_c2c__report()
3028 OPT_BOOLEAN(0, "stdio", &c2c.use_stdio, "Use the stdio interface"), in perf_c2c__report()
3029 OPT_BOOLEAN(0, "stats", &c2c.stats_only, in perf_c2c__report()
3031 OPT_BOOLEAN(0, "full-symbols", &c2c.symbol_full, in perf_c2c__report()
3035 OPT_BOOLEAN(0, "show-all", &c2c.show_all, in perf_c2c__report()
3045 OPT_BOOLEAN(0, "stitch-lbr", &c2c.stitch_lbr, in perf_c2c__report()
3060 c2c.use_stdio = true; in perf_c2c__report()
3063 if (c2c.stats_only) in perf_c2c__report()
3064 c2c.use_stdio = true; in perf_c2c__report()
3076 session = perf_session__new(&data, &c2c.tool); in perf_c2c__report()
3105 err = c2c_hists__init(&c2c.hists, "dcacheline", 2); in perf_c2c__report()
3119 err = mem2node__init(&c2c.mem2node, &session->header.env); in perf_c2c__report()
3136 if (c2c.use_stdio) in perf_c2c__report()
3149 if (c2c.display != DISPLAY_SNP_PEER) in perf_c2c__report()
3180 if (c2c.display == DISPLAY_TOT_HITM) in perf_c2c__report()
3182 else if (c2c.display == DISPLAY_RMT_HITM) in perf_c2c__report()
3184 else if (c2c.display == DISPLAY_LCL_HITM) in perf_c2c__report()
3186 else if (c2c.display == DISPLAY_SNP_PEER) in perf_c2c__report()
3189 c2c_hists__reinit(&c2c.hists, output_str, sort_str); in perf_c2c__report()
3191 ui_progress__init(&prog, c2c.hists.hists.nr_entries, "Sorting..."); in perf_c2c__report()
3193 hists__collapse_resort(&c2c.hists.hists, NULL); in perf_c2c__report()
3194 hists__output_resort_cb(&c2c.hists.hists, &prog, resort_shared_cl_cb); in perf_c2c__report()
3195 hists__iterate_cb(&c2c.hists.hists, resort_cl_cb); in perf_c2c__report()
3207 mem2node__exit(&c2c.mem2node); in perf_c2c__report()