Linux Perf
builtin-c2c.c File Reference
#include <errno.h>
#include <inttypes.h>
#include <linux/compiler.h>
#include <linux/kernel.h>
#include <linux/stringify.h>
#include <asm/bug.h>
#include <sys/param.h>
#include "util.h"
#include "debug.h"
#include "builtin.h"
#include <subcmd/parse-options.h>
#include "mem-events.h"
#include "session.h"
#include "hist.h"
#include "sort.h"
#include "tool.h"
#include "data.h"
#include "event.h"
#include "evlist.h"
#include "evsel.h"
#include "ui/browsers/hists.h"
#include "thread.h"
#include "mem2node.h"
Include dependency graph for builtin-c2c.c:

Go to the source code of this file.

Classes

struct  c2c_hists
 
struct  compute_stats
 
struct  c2c_hist_entry
 
struct  perf_c2c
 
struct  c2c_header
 
struct  c2c_dimension
 
struct  c2c_fmt
 

Macros

#define C2C_HEADER_MAX   2
 
#define SYMBOL_WIDTH   30
 
#define HEX_STR(__s, __v)
 
#define STAT_FN_ENTRY(__f)
 
#define STAT_FN_CMP(__f)
 
#define STAT_FN(__f)
 
#define PERC_STR(__s, __v)
 
#define PERCENT(__h, __f)   percent(he_stats(__h)->__f, total_stats(__h)->__f)
 
#define PERCENT_FN(__f)
 
#define DISPLAY_HITM(__h)
 
#define MEAN_ENTRY(__func, __val)
 
#define HEADER_LOW(__h)
 
#define HEADER_BOTH(__h0, __h1)
 
#define HEADER_SPAN(__h0, __h1, __s)
 
#define HEADER_SPAN_LOW(__h)
 
#define PARSE_LIST(_list, _fn)
 
#define DISPLAY_LINE_LIMIT   0.0005
 
#define FILTER_HITM(__h)
 
#define HAS_HITMS(__h)   ((__h)->stats.lcl_hitm || (__h)->stats.rmt_hitm)
 
#define CALLCHAIN_DEFAULT_OPT   "graph,0.5,caller,function,percent"
 
#define for_each_token(__tok, __buf, __sep, __tmp)
 

Typedefs

typedef double() get_percent_cb(struct c2c_hist_entry *)
 

Enumerations

enum  { DISPLAY_LCL, DISPLAY_RMT, DISPLAY_TOT, DISPLAY_MAX }
 

Functions

static void * c2c_he_zalloc (size_t size)
 
static void c2c_he_free (void *he)
 
static int c2c_hists__init (struct c2c_hists *hists, const char *sort, int nr_header_lines)
 
static struct c2c_histshe__get_c2c_hists (struct hist_entry *he, const char *sort, int nr_header_lines)
 
static void c2c_he__set_cpu (struct c2c_hist_entry *c2c_he, struct perf_sample *sample)
 
static void c2c_he__set_node (struct c2c_hist_entry *c2c_he, struct perf_sample *sample)
 
static void compute_stats (struct c2c_hist_entry *c2c_he, struct c2c_stats *stats, u64 weight)
 
static int process_sample_event (struct perf_tool *tool __maybe_unused, union perf_event *event, struct perf_sample *sample, struct perf_evsel *evsel, struct machine *machine)
 
static int symbol_width (struct hists *hists, struct sort_entry *se)
 
static int c2c_width (struct perf_hpp_fmt *fmt, struct perf_hpp *hpp __maybe_unused, struct hists *hists)
 
static int c2c_header (struct perf_hpp_fmt *fmt, struct perf_hpp *hpp, struct hists *hists, int line, int *span)
 
static int64_t dcacheline_cmp (struct perf_hpp_fmt *fmt __maybe_unused, struct hist_entry *left, struct hist_entry *right)
 
static int dcacheline_entry (struct perf_hpp_fmt *fmt, struct perf_hpp *hpp, struct hist_entry *he)
 
static int dcacheline_node_entry (struct perf_hpp_fmt *fmt, struct perf_hpp *hpp, struct hist_entry *he)
 
static int dcacheline_node_count (struct perf_hpp_fmt *fmt, struct perf_hpp *hpp, struct hist_entry *he)
 
static int offset_entry (struct perf_hpp_fmt *fmt, struct perf_hpp *hpp, struct hist_entry *he)
 
static int64_t offset_cmp (struct perf_hpp_fmt *fmt __maybe_unused, struct hist_entry *left, struct hist_entry *right)
 
static int iaddr_entry (struct perf_hpp_fmt *fmt, struct perf_hpp *hpp, struct hist_entry *he)
 
static int64_t iaddr_cmp (struct perf_hpp_fmt *fmt __maybe_unused, struct hist_entry *left, struct hist_entry *right)
 
static int tot_hitm_entry (struct perf_hpp_fmt *fmt, struct perf_hpp *hpp, struct hist_entry *he)
 
static int64_t tot_hitm_cmp (struct perf_hpp_fmt *fmt __maybe_unused, struct hist_entry *left, struct hist_entry *right)
 
static uint64_t llc_miss (struct c2c_stats *stats)
 
static int ld_llcmiss_entry (struct perf_hpp_fmt *fmt, struct perf_hpp *hpp, struct hist_entry *he)
 
static int64_t ld_llcmiss_cmp (struct perf_hpp_fmt *fmt __maybe_unused, struct hist_entry *left, struct hist_entry *right)
 
static uint64_t total_records (struct c2c_stats *stats)
 
static int tot_recs_entry (struct perf_hpp_fmt *fmt, struct perf_hpp *hpp, struct hist_entry *he)
 
static int64_t tot_recs_cmp (struct perf_hpp_fmt *fmt __maybe_unused, struct hist_entry *left, struct hist_entry *right)
 
static uint64_t total_loads (struct c2c_stats *stats)
 
static int tot_loads_entry (struct perf_hpp_fmt *fmt, struct perf_hpp *hpp, struct hist_entry *he)
 
static int64_t tot_loads_cmp (struct perf_hpp_fmt *fmt __maybe_unused, struct hist_entry *left, struct hist_entry *right)
 
static int percent_color (struct perf_hpp_fmt *fmt, struct perf_hpp *hpp, struct hist_entry *he, get_percent_cb get_percent)
 
static double percent_hitm (struct c2c_hist_entry *c2c_he)
 
static int percent_hitm_entry (struct perf_hpp_fmt *fmt, struct perf_hpp *hpp, struct hist_entry *he)
 
static int percent_hitm_color (struct perf_hpp_fmt *fmt, struct perf_hpp *hpp, struct hist_entry *he)
 
static int64_t percent_hitm_cmp (struct perf_hpp_fmt *fmt __maybe_unused, struct hist_entry *left, struct hist_entry *right)
 
static struct c2c_statshe_stats (struct hist_entry *he)
 
static struct c2c_statstotal_stats (struct hist_entry *he)
 
static double percent (int st, int tot)
 
static int percent_rmt_hitm_entry (struct perf_hpp_fmt *fmt, struct perf_hpp *hpp, struct hist_entry *he)
 
static int percent_rmt_hitm_color (struct perf_hpp_fmt *fmt, struct perf_hpp *hpp, struct hist_entry *he)
 
static int64_t percent_rmt_hitm_cmp (struct perf_hpp_fmt *fmt __maybe_unused, struct hist_entry *left, struct hist_entry *right)
 
static int percent_lcl_hitm_entry (struct perf_hpp_fmt *fmt, struct perf_hpp *hpp, struct hist_entry *he)
 
static int percent_lcl_hitm_color (struct perf_hpp_fmt *fmt, struct perf_hpp *hpp, struct hist_entry *he)
 
static int64_t percent_lcl_hitm_cmp (struct perf_hpp_fmt *fmt __maybe_unused, struct hist_entry *left, struct hist_entry *right)
 
static int percent_stores_l1hit_entry (struct perf_hpp_fmt *fmt, struct perf_hpp *hpp, struct hist_entry *he)
 
static int percent_stores_l1hit_color (struct perf_hpp_fmt *fmt, struct perf_hpp *hpp, struct hist_entry *he)
 
static int64_t percent_stores_l1hit_cmp (struct perf_hpp_fmt *fmt __maybe_unused, struct hist_entry *left, struct hist_entry *right)
 
static int percent_stores_l1miss_entry (struct perf_hpp_fmt *fmt, struct perf_hpp *hpp, struct hist_entry *he)
 
static int percent_stores_l1miss_color (struct perf_hpp_fmt *fmt, struct perf_hpp *hpp, struct hist_entry *he)
 
static int64_t percent_stores_l1miss_cmp (struct perf_hpp_fmt *fmt __maybe_unused, struct hist_entry *left, struct hist_entry *right)
 
static int pid_entry (struct perf_hpp_fmt *fmt, struct perf_hpp *hpp, struct hist_entry *he)
 
static int64_t pid_cmp (struct perf_hpp_fmt *fmt __maybe_unused, struct hist_entry *left, struct hist_entry *right)
 
static int64_t empty_cmp (struct perf_hpp_fmt *fmt __maybe_unused, struct hist_entry *left __maybe_unused, struct hist_entry *right __maybe_unused)
 
static int node_entry (struct perf_hpp_fmt *fmt __maybe_unused, struct perf_hpp *hpp, struct hist_entry *he)
 
static int mean_entry (struct perf_hpp_fmt *fmt, struct perf_hpp *hpp, struct hist_entry *he, double mean)
 
 MEAN_ENTRY (mean_rmt_entry, rmt_hitm)
 
 MEAN_ENTRY (mean_lcl_entry, lcl_hitm)
 
 MEAN_ENTRY (mean_load_entry, load)
 
static int cpucnt_entry (struct perf_hpp_fmt *fmt, struct perf_hpp *hpp, struct hist_entry *he)
 
static int cl_idx_entry (struct perf_hpp_fmt *fmt, struct perf_hpp *hpp, struct hist_entry *he)
 
static int cl_idx_empty_entry (struct perf_hpp_fmt *fmt, struct perf_hpp *hpp, struct hist_entry *he)
 
static void fmt_free (struct perf_hpp_fmt *fmt)
 
static bool fmt_equal (struct perf_hpp_fmt *a, struct perf_hpp_fmt *b)
 
static struct c2c_dimensionget_dimension (const char *name)
 
static int c2c_se_entry (struct perf_hpp_fmt *fmt, struct perf_hpp *hpp, struct hist_entry *he)
 
static int64_t c2c_se_cmp (struct perf_hpp_fmt *fmt, struct hist_entry *a, struct hist_entry *b)
 
static int64_t c2c_se_collapse (struct perf_hpp_fmt *fmt, struct hist_entry *a, struct hist_entry *b)
 
static struct c2c_fmtget_format (const char *name)
 
static int c2c_hists__init_output (struct perf_hpp_list *hpp_list, char *name)
 
static int c2c_hists__init_sort (struct perf_hpp_list *hpp_list, char *name)
 
static int hpp_list__parse (struct perf_hpp_list *hpp_list, const char *output_, const char *sort_)
 
static int c2c_hists__reinit (struct c2c_hists *c2c_hists, const char *output, const char *sort)
 
static bool he__display (struct hist_entry *he, struct c2c_stats *stats)
 
static int valid_hitm_or_store (struct hist_entry *he)
 
static void set_node_width (struct c2c_hist_entry *c2c_he, int len)
 
static int set_nodestr (struct c2c_hist_entry *c2c_he)
 
static void calc_width (struct c2c_hist_entry *c2c_he)
 
static int filter_cb (struct hist_entry *he)
 
static int resort_cl_cb (struct hist_entry *he)
 
static void setup_nodes_header (void)
 
static int setup_nodes (struct perf_session *session)
 
static int resort_hitm_cb (struct hist_entry *he)
 
static int hists__iterate_cb (struct hists *hists, hists__resort_cb_t cb)
 
static void print_c2c__display_stats (FILE *out)
 
static void print_shared_cacheline_info (FILE *out)
 
static void print_cacheline (struct c2c_hists *c2c_hists, struct hist_entry *he_cl, struct perf_hpp_list *hpp_list, FILE *out)
 
static void print_pareto (FILE *out)
 
static void print_c2c_info (FILE *out, struct perf_session *session)
 
static void perf_c2c__hists_fprintf (FILE *out, struct perf_session *session)
 
static void perf_c2c_display (struct perf_session *session)
 
static char * fill_line (const char *orig, int len)
 
static int ui_quirks (void)
 
static int parse_callchain_opt (const struct option *opt, const char *arg, int unset)
 
static int setup_callchain (struct perf_evlist *evlist)
 
static int setup_display (const char *str)
 
static int build_cl_output (char *cl_sort, bool no_source)
 
static int setup_coalesce (const char *coalesce, bool no_source)
 
static int perf_c2c__report (int argc, const char **argv)
 
static int parse_record_events (const struct option *opt, const char *str, int unset __maybe_unused)
 
static int perf_c2c__record (int argc, const char **argv)
 
int cmd_c2c (int argc, const char **argv)
 

Variables

static char const * coalesce_default = "pid,iaddr"
 
static const char * display_str [DISPLAY_MAX]
 
static const struct option c2c_options []
 
static struct perf_c2c c2c
 
static struct hist_entry_ops c2c_entry_ops
 
static const char *const c2c_usage []
 
static const char *const __usage_report []
 
static const char *const * report_c2c_usage = __usage_report
 
static struct c2c_dimension dim_symbol
 
static struct c2c_dimension dim_srcline
 
static struct c2c_dimension dim_dcacheline
 
static struct c2c_dimension dim_dcacheline_node
 
static struct c2c_dimension dim_dcacheline_count
 
static struct c2c_header header_offset_tui = HEADER_SPAN("-----", "Off", 2)
 
static struct c2c_dimension dim_offset
 
static struct c2c_dimension dim_offset_node
 
static struct c2c_dimension dim_iaddr
 
static struct c2c_dimension dim_tot_hitm
 
static struct c2c_dimension dim_lcl_hitm
 
static struct c2c_dimension dim_rmt_hitm
 
static struct c2c_dimension dim_cl_rmt_hitm
 
static struct c2c_dimension dim_cl_lcl_hitm
 
static struct c2c_dimension dim_stores
 
static struct c2c_dimension dim_stores_l1hit
 
static struct c2c_dimension dim_stores_l1miss
 
static struct c2c_dimension dim_cl_stores_l1hit
 
static struct c2c_dimension dim_cl_stores_l1miss
 
static struct c2c_dimension dim_ld_fbhit
 
static struct c2c_dimension dim_ld_l1hit
 
static struct c2c_dimension dim_ld_l2hit
 
static struct c2c_dimension dim_ld_llchit
 
static struct c2c_dimension dim_ld_rmthit
 
static struct c2c_dimension dim_ld_llcmiss
 
static struct c2c_dimension dim_tot_recs
 
static struct c2c_dimension dim_tot_loads
 
static struct c2c_header percent_hitm_header []
 
static struct c2c_dimension dim_percent_hitm
 
static struct c2c_dimension dim_percent_rmt_hitm
 
static struct c2c_dimension dim_percent_lcl_hitm
 
static struct c2c_dimension dim_percent_stores_l1hit
 
static struct c2c_dimension dim_percent_stores_l1miss
 
static struct c2c_dimension dim_dram_lcl
 
static struct c2c_dimension dim_dram_rmt
 
static struct c2c_dimension dim_pid
 
static struct c2c_dimension dim_tid
 
static struct c2c_dimension dim_dso
 
static struct c2c_header header_node [3]
 
static struct c2c_dimension dim_node
 
static struct c2c_dimension dim_mean_rmt
 
static struct c2c_dimension dim_mean_lcl
 
static struct c2c_dimension dim_mean_load
 
static struct c2c_dimension dim_cpucnt
 
static struct c2c_dimension dim_dcacheline_idx
 
static struct c2c_dimension dim_dcacheline_num
 
static struct c2c_dimension dim_dcacheline_num_empty
 
static struct c2c_dimensiondimensions []
 
const char callchain_help []
 
static const char *const __usage_record []
 
static const char *const * record_mem_usage = __usage_record
 

Macro Definition Documentation

◆ C2C_HEADER_MAX

#define C2C_HEADER_MAX   2

Definition at line 376 of file builtin-c2c.c.

◆ CALLCHAIN_DEFAULT_OPT

#define CALLCHAIN_DEFAULT_OPT   "graph,0.5,caller,function,percent"

Definition at line 2538 of file builtin-c2c.c.

◆ DISPLAY_HITM

#define DISPLAY_HITM (   __h)
Value:
if (c2c_he->stats.__h> 0) { \
ret = scnprintf(hpp->buf, hpp->size, "%5.1f%% ", \
percent(stats->__h, c2c_he->stats.__h));\
} else { \
ret = scnprintf(hpp->buf, hpp->size, "%6s ", "n/a"); \
}
Definition: stat.h:10
static double percent(int st, int tot)
Definition: builtin-c2c.c:899

◆ DISPLAY_LINE_LIMIT

#define DISPLAY_LINE_LIMIT   0.0005

Definition at line 1881 of file builtin-c2c.c.

◆ FILTER_HITM

#define FILTER_HITM (   __h)
Value:
if (stats->__h) { \
ld_dist = ((double)c2c_he->stats.__h / stats->__h); \
if (ld_dist < DISPLAY_LINE_LIMIT) \
he->filtered = HIST_FILTER__C2C; \
} else { \
he->filtered = HIST_FILTER__C2C; \
}
#define DISPLAY_LINE_LIMIT
Definition: builtin-c2c.c:1881
Definition: stat.h:10

◆ for_each_token

#define for_each_token (   __tok,
  __buf,
  __sep,
  __tmp 
)
Value:
for (__tok = strtok_r(__buf, __sep, &__tmp); __tok; \
__tok = strtok_r(NULL, __sep, &__tmp))

Definition at line 2609 of file builtin-c2c.c.

◆ HAS_HITMS

#define HAS_HITMS (   __h)    ((__h)->stats.lcl_hitm || (__h)->stats.rmt_hitm)

Definition at line 2074 of file builtin-c2c.c.

◆ HEADER_BOTH

#define HEADER_BOTH (   __h0,
  __h1 
)
Value:
{ \
.line[0] = { \
.text = __h0, \
}, \
.line[1] = { \
.text = __h1, \
}, \
}

Definition at line 1237 of file builtin-c2c.c.

◆ HEADER_LOW

#define HEADER_LOW (   __h)
Value:
{ \
.line[1] = { \
.text = __h, \
}, \
}

Definition at line 1230 of file builtin-c2c.c.

◆ HEADER_SPAN

#define HEADER_SPAN (   __h0,
  __h1,
  __s 
)
Value:
{ \
.line[0] = { \
.text = __h0, \
.span = __s, \
}, \
.line[1] = { \
.text = __h1, \
}, \
}

Definition at line 1247 of file builtin-c2c.c.

◆ HEADER_SPAN_LOW

#define HEADER_SPAN_LOW (   __h)
Value:
{ \
.line[1] = { \
.text = __h, \
}, \
}

Definition at line 1258 of file builtin-c2c.c.

◆ HEX_STR

#define HEX_STR (   __s,
  __v 
)
Value:
({ \
scnprintf(__s, sizeof(__s), "0x%" PRIx64, __v); \
__s; \
})

Definition at line 470 of file builtin-c2c.c.

◆ MEAN_ENTRY

#define MEAN_ENTRY (   __func,
  __val 
)
Value:
static int \
__func(struct perf_hpp_fmt *fmt, struct perf_hpp *hpp, struct hist_entry *he) \
{ \
struct c2c_hist_entry *c2c_he; \
c2c_he = container_of(he, struct c2c_hist_entry, he); \
return mean_entry(fmt, hpp, he, avg_stats(&c2c_he->cstats.__val)); \
}
double avg_stats(struct stats *stats)
Definition: stat.c:26
Definition: hist.h:234
Definition: sort.h:89
const char * fmt
Definition: dso.c:193
Definition: builtin-c2c.c:49
static int mean_entry(struct perf_hpp_fmt *fmt, struct perf_hpp *hpp, struct hist_entry *he, double mean)
Definition: builtin-c2c.c:1170

Definition at line 1180 of file builtin-c2c.c.

◆ PARSE_LIST

#define PARSE_LIST (   _list,
  _fn 
)
Value:
do { \
char *tmp, *tok; \
ret = 0; \
if (!_list) \
break; \
\
for (tok = strtok_r((char *)_list, ", ", &tmp); \
tok; tok = strtok_r(NULL, ", ", &tmp)) { \
ret = _fn(hpp_list, tok); \
if (ret == -EINVAL) { \
pr_err("Invalid --fields key: `%s'", tok); \
break; \
} else if (ret == -ESRCH) { \
pr_err("Unknown --fields key: `%s'", tok); \
break; \
} \
} \
} while (0)
if(!yyg->yy_init)

Definition at line 1802 of file builtin-c2c.c.

◆ PERC_STR

#define PERC_STR (   __s,
  __v 
)
Value:
({ \
scnprintf(__s, sizeof(__s), "%.2F%%", __v); \
__s; \
})

Definition at line 838 of file builtin-c2c.c.

◆ PERCENT

#define PERCENT (   __h,
  __f 
)    percent(he_stats(__h)->__f, total_stats(__h)->__f)

Definition at line 904 of file builtin-c2c.c.

◆ PERCENT_FN

#define PERCENT_FN (   __f)
Value:
static double percent_ ## __f(struct c2c_hist_entry *c2c_he) \
{ \
struct c2c_hists *hists; \
\
hists = container_of(c2c_he->he.hists, struct c2c_hists, hists); \
return percent(c2c_he->stats.__f, hists->stats.__f); \
}
Definition: builtin-c2c.c:49
static double percent(int st, int tot)
Definition: builtin-c2c.c:899
Definition: hist.h:71

Definition at line 906 of file builtin-c2c.c.

◆ STAT_FN

#define STAT_FN (   __f)
Value:
STAT_FN_CMP(__f)
#define STAT_FN_ENTRY(__f)
Definition: builtin-c2c.c:601

Definition at line 626 of file builtin-c2c.c.

◆ STAT_FN_CMP

#define STAT_FN_CMP (   __f)
Value:
static int64_t \
__f ## _cmp(struct perf_hpp_fmt *fmt __maybe_unused, \
struct hist_entry *left, struct hist_entry *right) \
{ \
struct c2c_hist_entry *c2c_left, *c2c_right; \
\
c2c_left = container_of(left, struct c2c_hist_entry, he); \
c2c_right = container_of(right, struct c2c_hist_entry, he); \
return c2c_left->stats.__f - c2c_right->stats.__f; \
}
Definition: sort.h:89
const char * fmt
Definition: dso.c:193
Definition: builtin-c2c.c:49

Definition at line 614 of file builtin-c2c.c.

◆ STAT_FN_ENTRY

#define STAT_FN_ENTRY (   __f)
Value:
static int \
__f ## _entry(struct perf_hpp_fmt *fmt, struct perf_hpp *hpp, \
struct hist_entry *he) \
{ \
struct c2c_hist_entry *c2c_he; \
int width = c2c_width(fmt, hpp, he->hists); \
\
c2c_he = container_of(he, struct c2c_hist_entry, he); \
return scnprintf(hpp->buf, hpp->size, "%*u", width, \
c2c_he->stats.__f); \
}
Definition: hist.h:234
Definition: sort.h:89
const char * fmt
Definition: dso.c:193
Definition: builtin-c2c.c:49
static int c2c_width(struct perf_hpp_fmt *fmt, struct perf_hpp *hpp __maybe_unused, struct hists *hists)
Definition: builtin-c2c.c:419

Definition at line 601 of file builtin-c2c.c.

◆ SYMBOL_WIDTH

#define SYMBOL_WIDTH   30

Definition at line 404 of file builtin-c2c.c.

Typedef Documentation

◆ get_percent_cb

typedef double() get_percent_cb(struct c2c_hist_entry *)

Definition at line 785 of file builtin-c2c.c.

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
DISPLAY_LCL 
DISPLAY_RMT 
DISPLAY_TOT 
DISPLAY_MAX 

Definition at line 102 of file builtin-c2c.c.

Function Documentation

◆ build_cl_output()

static int build_cl_output ( char *  cl_sort,
bool  no_source 
)
static

Definition at line 2613 of file builtin-c2c.c.

Here is the call graph for this function:

◆ c2c_he__set_cpu()

static void c2c_he__set_cpu ( struct c2c_hist_entry c2c_he,
struct perf_sample sample 
)
static

Definition at line 201 of file builtin-c2c.c.

◆ c2c_he__set_node()

static void c2c_he__set_node ( struct c2c_hist_entry c2c_he,
struct perf_sample sample 
)
static

Definition at line 211 of file builtin-c2c.c.

Here is the call graph for this function:

◆ c2c_he_free()

static void c2c_he_free ( void *  he)
static

Definition at line 149 of file builtin-c2c.c.

Here is the call graph for this function:

◆ c2c_he_zalloc()

static void* c2c_he_zalloc ( size_t  size)
static

Definition at line 122 of file builtin-c2c.c.

Here is the call graph for this function:

◆ c2c_header()

static int c2c_header ( struct perf_hpp_fmt fmt,
struct perf_hpp hpp,
struct hists hists,
int  line,
int *  span 
)
static

Definition at line 436 of file builtin-c2c.c.

Here is the call graph for this function:

◆ c2c_hists__init()

static int c2c_hists__init ( struct c2c_hists hists,
const char *  sort,
int  nr_header_lines 
)
static

Definition at line 1854 of file builtin-c2c.c.

Here is the call graph for this function:

◆ c2c_hists__init_output()

static int c2c_hists__init_output ( struct perf_hpp_list hpp_list,
char *  name 
)
static

Definition at line 1771 of file builtin-c2c.c.

Here is the call graph for this function:

◆ c2c_hists__init_sort()

static int c2c_hists__init_sort ( struct perf_hpp_list hpp_list,
char *  name 
)
static

Definition at line 1784 of file builtin-c2c.c.

Here is the call graph for this function:

◆ c2c_hists__reinit()

static int c2c_hists__reinit ( struct c2c_hists c2c_hists,
const char *  output,
const char *  sort 
)
static

Definition at line 1873 of file builtin-c2c.c.

Here is the call graph for this function:

◆ c2c_se_cmp()

static int64_t c2c_se_cmp ( struct perf_hpp_fmt fmt,
struct hist_entry a,
struct hist_entry b 
)
static

Definition at line 1719 of file builtin-c2c.c.

◆ c2c_se_collapse()

static int64_t c2c_se_collapse ( struct perf_hpp_fmt fmt,
struct hist_entry a,
struct hist_entry b 
)
static

Definition at line 1728 of file builtin-c2c.c.

◆ c2c_se_entry()

static int c2c_se_entry ( struct perf_hpp_fmt fmt,
struct perf_hpp hpp,
struct hist_entry he 
)
static

Definition at line 1702 of file builtin-c2c.c.

Here is the call graph for this function:

◆ c2c_width()

static int c2c_width ( struct perf_hpp_fmt fmt,
struct perf_hpp *hpp  __maybe_unused,
struct hists hists 
)
static

Definition at line 419 of file builtin-c2c.c.

Here is the call graph for this function:

◆ calc_width()

static void calc_width ( struct c2c_hist_entry c2c_he)
static

Definition at line 1963 of file builtin-c2c.c.

Here is the call graph for this function:

◆ cl_idx_empty_entry()

static int cl_idx_empty_entry ( struct perf_hpp_fmt fmt,
struct perf_hpp hpp,
struct hist_entry he 
)
static

Definition at line 1222 of file builtin-c2c.c.

Here is the call graph for this function:

◆ cl_idx_entry()

static int cl_idx_entry ( struct perf_hpp_fmt fmt,
struct perf_hpp hpp,
struct hist_entry he 
)
static

Definition at line 1208 of file builtin-c2c.c.

Here is the call graph for this function:

◆ cmd_c2c()

int cmd_c2c ( int  argc,
const char **  argv 
)

Definition at line 2955 of file builtin-c2c.c.

Here is the call graph for this function:

◆ compute_stats()

static void compute_stats ( struct c2c_hist_entry c2c_he,
struct c2c_stats stats,
u64  weight 
)
static

Definition at line 233 of file builtin-c2c.c.

Here is the call graph for this function:

◆ cpucnt_entry()

static int cpucnt_entry ( struct perf_hpp_fmt fmt,
struct perf_hpp hpp,
struct hist_entry he 
)
static

Definition at line 1194 of file builtin-c2c.c.

Here is the call graph for this function:

◆ dcacheline_cmp()

static int64_t dcacheline_cmp ( struct perf_hpp_fmt *fmt  __maybe_unused,
struct hist_entry left,
struct hist_entry right 
)
static

Definition at line 477 of file builtin-c2c.c.

Here is the call graph for this function:

◆ dcacheline_entry()

static int dcacheline_entry ( struct perf_hpp_fmt fmt,
struct perf_hpp hpp,
struct hist_entry he 
)
static

Definition at line 483 of file builtin-c2c.c.

Here is the call graph for this function:

◆ dcacheline_node_count()

static int dcacheline_node_count ( struct perf_hpp_fmt fmt,
struct perf_hpp hpp,
struct hist_entry he 
)
static

Definition at line 511 of file builtin-c2c.c.

Here is the call graph for this function:

◆ dcacheline_node_entry()

static int dcacheline_node_entry ( struct perf_hpp_fmt fmt,
struct perf_hpp hpp,
struct hist_entry he 
)
static

Definition at line 497 of file builtin-c2c.c.

Here is the call graph for this function:

◆ empty_cmp()

static int64_t empty_cmp ( struct perf_hpp_fmt *fmt  __maybe_unused,
struct hist_entry *left  __maybe_unused,
struct hist_entry *right  __maybe_unused 
)
static

Definition at line 1064 of file builtin-c2c.c.

◆ fill_line()

static char* fill_line ( const char *  orig,
int  len 
)
static

Definition at line 2476 of file builtin-c2c.c.

Here is the call graph for this function:

◆ filter_cb()

static int filter_cb ( struct hist_entry he)
static

Definition at line 1972 of file builtin-c2c.c.

Here is the call graph for this function:

◆ fmt_equal()

static bool fmt_equal ( struct perf_hpp_fmt a,
struct perf_hpp_fmt b 
)
static

Definition at line 1680 of file builtin-c2c.c.

◆ fmt_free()

static void fmt_free ( struct perf_hpp_fmt fmt)
static

Definition at line 1672 of file builtin-c2c.c.

Here is the call graph for this function:

◆ get_dimension()

static struct c2c_dimension* get_dimension ( const char *  name)
static

Definition at line 1688 of file builtin-c2c.c.

◆ get_format()

static struct c2c_fmt* get_format ( const char *  name)
static

Definition at line 1739 of file builtin-c2c.c.

Here is the call graph for this function:

◆ he__display()

static bool he__display ( struct hist_entry he,
struct c2c_stats stats 
)
static

Definition at line 1883 of file builtin-c2c.c.

◆ he__get_c2c_hists()

static struct c2c_hists* he__get_c2c_hists ( struct hist_entry he,
const char *  sort,
int  nr_header_lines 
)
static

Definition at line 176 of file builtin-c2c.c.

Here is the call graph for this function:

◆ he_stats()

static struct c2c_stats* he_stats ( struct hist_entry he)
static

Definition at line 883 of file builtin-c2c.c.

◆ hists__iterate_cb()

static int hists__iterate_cb ( struct hists hists,
hists__resort_cb_t  cb 
)
static

Definition at line 2089 of file builtin-c2c.c.

◆ hpp_list__parse()

static int hpp_list__parse ( struct perf_hpp_list hpp_list,
const char *  output_,
const char *  sort_ 
)
static

Definition at line 1823 of file builtin-c2c.c.

Here is the call graph for this function:

◆ iaddr_cmp()

static int64_t iaddr_cmp ( struct perf_hpp_fmt *fmt  __maybe_unused,
struct hist_entry left,
struct hist_entry right 
)
static

Definition at line 563 of file builtin-c2c.c.

Here is the call graph for this function:

◆ iaddr_entry()

static int iaddr_entry ( struct perf_hpp_fmt fmt,
struct perf_hpp hpp,
struct hist_entry he 
)
static

Definition at line 549 of file builtin-c2c.c.

Here is the call graph for this function:

◆ ld_llcmiss_cmp()

static int64_t ld_llcmiss_cmp ( struct perf_hpp_fmt *fmt  __maybe_unused,
struct hist_entry left,
struct hist_entry right 
)
static

Definition at line 667 of file builtin-c2c.c.

Here is the call graph for this function:

◆ ld_llcmiss_entry()

static int ld_llcmiss_entry ( struct perf_hpp_fmt fmt,
struct perf_hpp hpp,
struct hist_entry he 
)
static

Definition at line 654 of file builtin-c2c.c.

Here is the call graph for this function:

◆ llc_miss()

static uint64_t llc_miss ( struct c2c_stats stats)
static

Definition at line 641 of file builtin-c2c.c.

◆ mean_entry()

static int mean_entry ( struct perf_hpp_fmt fmt,
struct perf_hpp hpp,
struct hist_entry he,
double  mean 
)
static

Definition at line 1170 of file builtin-c2c.c.

Here is the call graph for this function:

◆ MEAN_ENTRY() [1/3]

MEAN_ENTRY ( mean_rmt_entry  ,
rmt_hitm   
)

◆ MEAN_ENTRY() [2/3]

MEAN_ENTRY ( mean_lcl_entry  ,
lcl_hitm   
)

◆ MEAN_ENTRY() [3/3]

MEAN_ENTRY ( mean_load_entry  ,
load   
)

◆ node_entry()

static int node_entry ( struct perf_hpp_fmt *fmt  __maybe_unused,
struct perf_hpp hpp,
struct hist_entry he 
)
static

Definition at line 1072 of file builtin-c2c.c.

Here is the call graph for this function:

◆ offset_cmp()

static int64_t offset_cmp ( struct perf_hpp_fmt *fmt  __maybe_unused,
struct hist_entry left,
struct hist_entry right 
)
static

Definition at line 535 of file builtin-c2c.c.

Here is the call graph for this function:

◆ offset_entry()

static int offset_entry ( struct perf_hpp_fmt fmt,
struct perf_hpp hpp,
struct hist_entry he 
)
static

Definition at line 521 of file builtin-c2c.c.

Here is the call graph for this function:

◆ parse_callchain_opt()

static int parse_callchain_opt ( const struct option *  opt,
const char *  arg,
int  unset 
)
static

Definition at line 2545 of file builtin-c2c.c.

Here is the call graph for this function:

◆ parse_record_events()

static int parse_record_events ( const struct option *  opt,
const char *  str,
int unset  __maybe_unused 
)
static

Definition at line 2851 of file builtin-c2c.c.

Here is the call graph for this function:

◆ percent()

static double percent ( int  st,
int  tot 
)
static

Definition at line 899 of file builtin-c2c.c.

◆ percent_color()

static int percent_color ( struct perf_hpp_fmt fmt,
struct perf_hpp hpp,
struct hist_entry he,
get_percent_cb  get_percent 
)
static

Definition at line 788 of file builtin-c2c.c.

Here is the call graph for this function:

◆ percent_hitm()

static double percent_hitm ( struct c2c_hist_entry c2c_he)
static

Definition at line 805 of file builtin-c2c.c.

◆ percent_hitm_cmp()

static int64_t percent_hitm_cmp ( struct perf_hpp_fmt *fmt  __maybe_unused,
struct hist_entry left,
struct hist_entry right 
)
static

Definition at line 866 of file builtin-c2c.c.

Here is the call graph for this function:

◆ percent_hitm_color()

static int percent_hitm_color ( struct perf_hpp_fmt fmt,
struct perf_hpp hpp,
struct hist_entry he 
)
static

Definition at line 859 of file builtin-c2c.c.

Here is the call graph for this function:

◆ percent_hitm_entry()

static int percent_hitm_entry ( struct perf_hpp_fmt fmt,
struct perf_hpp hpp,
struct hist_entry he 
)
static

Definition at line 845 of file builtin-c2c.c.

Here is the call graph for this function:

◆ percent_lcl_hitm_cmp()

static int64_t percent_lcl_hitm_cmp ( struct perf_hpp_fmt *fmt  __maybe_unused,
struct hist_entry left,
struct hist_entry right 
)
static

Definition at line 970 of file builtin-c2c.c.

◆ percent_lcl_hitm_color()

static int percent_lcl_hitm_color ( struct perf_hpp_fmt fmt,
struct perf_hpp hpp,
struct hist_entry he 
)
static

Definition at line 963 of file builtin-c2c.c.

Here is the call graph for this function:

◆ percent_lcl_hitm_entry()

static int percent_lcl_hitm_entry ( struct perf_hpp_fmt fmt,
struct perf_hpp hpp,
struct hist_entry he 
)
static

Definition at line 952 of file builtin-c2c.c.

Here is the call graph for this function:

◆ percent_rmt_hitm_cmp()

static int64_t percent_rmt_hitm_cmp ( struct perf_hpp_fmt *fmt  __maybe_unused,
struct hist_entry left,
struct hist_entry right 
)
static

Definition at line 939 of file builtin-c2c.c.

◆ percent_rmt_hitm_color()

static int percent_rmt_hitm_color ( struct perf_hpp_fmt fmt,
struct perf_hpp hpp,
struct hist_entry he 
)
static

Definition at line 932 of file builtin-c2c.c.

Here is the call graph for this function:

◆ percent_rmt_hitm_entry()

static int percent_rmt_hitm_entry ( struct perf_hpp_fmt fmt,
struct perf_hpp hpp,
struct hist_entry he 
)
static

Definition at line 921 of file builtin-c2c.c.

Here is the call graph for this function:

◆ percent_stores_l1hit_cmp()

static int64_t percent_stores_l1hit_cmp ( struct perf_hpp_fmt *fmt  __maybe_unused,
struct hist_entry left,
struct hist_entry right 
)
static

Definition at line 1001 of file builtin-c2c.c.

◆ percent_stores_l1hit_color()

static int percent_stores_l1hit_color ( struct perf_hpp_fmt fmt,
struct perf_hpp hpp,
struct hist_entry he 
)
static

Definition at line 994 of file builtin-c2c.c.

Here is the call graph for this function:

◆ percent_stores_l1hit_entry()

static int percent_stores_l1hit_entry ( struct perf_hpp_fmt fmt,
struct perf_hpp hpp,
struct hist_entry he 
)
static

Definition at line 983 of file builtin-c2c.c.

Here is the call graph for this function:

◆ percent_stores_l1miss_cmp()

static int64_t percent_stores_l1miss_cmp ( struct perf_hpp_fmt *fmt  __maybe_unused,
struct hist_entry left,
struct hist_entry right 
)
static

Definition at line 1032 of file builtin-c2c.c.

◆ percent_stores_l1miss_color()

static int percent_stores_l1miss_color ( struct perf_hpp_fmt fmt,
struct perf_hpp hpp,
struct hist_entry he 
)
static

Definition at line 1025 of file builtin-c2c.c.

Here is the call graph for this function:

◆ percent_stores_l1miss_entry()

static int percent_stores_l1miss_entry ( struct perf_hpp_fmt fmt,
struct perf_hpp hpp,
struct hist_entry he 
)
static

Definition at line 1014 of file builtin-c2c.c.

Here is the call graph for this function:

◆ perf_c2c__hists_fprintf()

static void perf_c2c__hists_fprintf ( FILE *  out,
struct perf_session session 
)
static

Definition at line 2252 of file builtin-c2c.c.

Here is the call graph for this function:

◆ perf_c2c__record()

static int perf_c2c__record ( int  argc,
const char **  argv 
)
static

Definition at line 2869 of file builtin-c2c.c.

Here is the call graph for this function:

◆ perf_c2c__report()

static int perf_c2c__report ( int  argc,
const char **  argv 
)
static

Definition at line 2696 of file builtin-c2c.c.

Here is the call graph for this function:

◆ perf_c2c_display()

static void perf_c2c_display ( struct perf_session session)
static

Definition at line 2469 of file builtin-c2c.c.

Here is the call graph for this function:

◆ pid_cmp()

static int64_t pid_cmp ( struct perf_hpp_fmt *fmt  __maybe_unused,
struct hist_entry left,
struct hist_entry right 
)
static

Definition at line 1057 of file builtin-c2c.c.

◆ pid_entry()

static int pid_entry ( struct perf_hpp_fmt fmt,
struct perf_hpp hpp,
struct hist_entry he 
)
static

Definition at line 1048 of file builtin-c2c.c.

Here is the call graph for this function:

◆ print_c2c__display_stats()

static void print_c2c__display_stats ( FILE *  out)
static

Definition at line 2107 of file builtin-c2c.c.

◆ print_c2c_info()

static void print_c2c_info ( FILE *  out,
struct perf_session session 
)
static

Definition at line 2232 of file builtin-c2c.c.

Here is the call graph for this function:

◆ print_cacheline()

static void print_cacheline ( struct c2c_hists c2c_hists,
struct hist_entry he_cl,
struct perf_hpp_list hpp_list,
FILE *  out 
)
static

Definition at line 2172 of file builtin-c2c.c.

Here is the call graph for this function:

◆ print_pareto()

static void print_pareto ( FILE *  out)
static

Definition at line 2199 of file builtin-c2c.c.

Here is the call graph for this function:

◆ print_shared_cacheline_info()

static void print_shared_cacheline_info ( FILE *  out)
static

Definition at line 2152 of file builtin-c2c.c.

◆ process_sample_event()

static int process_sample_event ( struct perf_tool *tool  __maybe_unused,
union perf_event event,
struct perf_sample sample,
struct perf_evsel evsel,
struct machine machine 
)
static

Definition at line 247 of file builtin-c2c.c.

Here is the call graph for this function:

◆ resort_cl_cb()

static int resort_cl_cb ( struct hist_entry he)
static

Definition at line 1989 of file builtin-c2c.c.

Here is the call graph for this function:

◆ resort_hitm_cb()

static int resort_hitm_cb ( struct hist_entry he)
static

Definition at line 2076 of file builtin-c2c.c.

Here is the call graph for this function:

◆ set_node_width()

static void set_node_width ( struct c2c_hist_entry c2c_he,
int  len 
)
static

Definition at line 1932 of file builtin-c2c.c.

◆ set_nodestr()

static int set_nodestr ( struct c2c_hist_entry c2c_he)
static

Definition at line 1943 of file builtin-c2c.c.

Here is the call graph for this function:

◆ setup_callchain()

static int setup_callchain ( struct perf_evlist evlist)
static

Definition at line 2562 of file builtin-c2c.c.

Here is the call graph for this function:

◆ setup_coalesce()

static int setup_coalesce ( const char *  coalesce,
bool  no_source 
)
static

Definition at line 2672 of file builtin-c2c.c.

Here is the call graph for this function:

◆ setup_display()

static int setup_display ( const char *  str)
static

Definition at line 2591 of file builtin-c2c.c.

◆ setup_nodes()

static int setup_nodes ( struct perf_session session)
static

Definition at line 2018 of file builtin-c2c.c.

Here is the call graph for this function:

◆ setup_nodes_header()

static void setup_nodes_header ( void  )
static

Definition at line 2013 of file builtin-c2c.c.

◆ symbol_width()

static int symbol_width ( struct hists hists,
struct sort_entry se 
)
static

Definition at line 409 of file builtin-c2c.c.

Here is the call graph for this function:

◆ tot_hitm_cmp()

static int64_t tot_hitm_cmp ( struct perf_hpp_fmt *fmt  __maybe_unused,
struct hist_entry left,
struct hist_entry right 
)
static

Definition at line 584 of file builtin-c2c.c.

◆ tot_hitm_entry()

static int tot_hitm_entry ( struct perf_hpp_fmt fmt,
struct perf_hpp hpp,
struct hist_entry he 
)
static

Definition at line 570 of file builtin-c2c.c.

Here is the call graph for this function:

◆ tot_loads_cmp()

static int64_t tot_loads_cmp ( struct perf_hpp_fmt *fmt  __maybe_unused,
struct hist_entry left,
struct hist_entry right 
)
static

Definition at line 768 of file builtin-c2c.c.

Here is the call graph for this function:

◆ tot_loads_entry()

static int tot_loads_entry ( struct perf_hpp_fmt fmt,
struct perf_hpp hpp,
struct hist_entry he 
)
static

Definition at line 754 of file builtin-c2c.c.

Here is the call graph for this function:

◆ tot_recs_cmp()

static int64_t tot_recs_cmp ( struct perf_hpp_fmt *fmt  __maybe_unused,
struct hist_entry left,
struct hist_entry right 
)
static

Definition at line 717 of file builtin-c2c.c.

Here is the call graph for this function:

◆ tot_recs_entry()

static int tot_recs_entry ( struct perf_hpp_fmt fmt,
struct perf_hpp hpp,
struct hist_entry he 
)
static

Definition at line 703 of file builtin-c2c.c.

Here is the call graph for this function:

◆ total_loads()

static uint64_t total_loads ( struct c2c_stats stats)
static

Definition at line 734 of file builtin-c2c.c.

◆ total_records()

static uint64_t total_records ( struct c2c_stats stats)
static

Definition at line 679 of file builtin-c2c.c.

◆ total_stats()

static struct c2c_stats* total_stats ( struct hist_entry he)
static

Definition at line 891 of file builtin-c2c.c.

◆ ui_quirks()

static int ui_quirks ( void  )
static

Definition at line 2504 of file builtin-c2c.c.

Here is the call graph for this function:

◆ valid_hitm_or_store()

static int valid_hitm_or_store ( struct hist_entry he)
inlinestatic

Definition at line 1920 of file builtin-c2c.c.

Variable Documentation

◆ __usage_record

const char* const __usage_record[]
static
Initial value:
= {
"perf c2c record [<options>] [<command>]",
"perf c2c record [<options>] -- <command> [<options>]",
NULL
}

Definition at line 2861 of file builtin-c2c.c.

◆ __usage_report

const char* const __usage_report[]
static
Initial value:
= {
"perf c2c report",
NULL
}

Definition at line 369 of file builtin-c2c.c.

◆ c2c

static struct perf_c2c c2c
static
Initial value:
= {
.tool = {
.ordered_events = true,
.ordering_requires_timestamps = true,
},
}
int perf_event__process_mmap(struct perf_tool *tool __maybe_unused, union perf_event *event, struct perf_sample *sample, struct machine *machine)
Definition: event.c:1385
int perf_event__process_comm(struct perf_tool *tool __maybe_unused, union perf_event *event, struct perf_sample *sample, struct machine *machine)
Definition: event.c:1273
int perf_event__process_exit(struct perf_tool *tool __maybe_unused, union perf_event *event, struct perf_sample *sample, struct machine *machine)
Definition: event.c:1416
int perf_event__process_fork(struct perf_tool *tool __maybe_unused, union perf_event *event, struct perf_sample *sample, struct machine *machine)
Definition: event.c:1408
static int process_sample_event(struct perf_tool *tool __maybe_unused, union perf_event *event, struct perf_sample *sample, struct perf_evsel *evsel, struct machine *machine)
Definition: builtin-c2c.c:247
int perf_event__process_mmap2(struct perf_tool *tool __maybe_unused, union perf_event *event, struct perf_sample *sample, struct machine *machine)
Definition: event.c:1393
int perf_event__process_lost(struct perf_tool *tool __maybe_unused, union perf_event *event, struct perf_sample *sample, struct machine *machine)
Definition: event.c:1289

Definition at line 120 of file builtin-c2c.c.

◆ c2c_entry_ops

struct hist_entry_ops c2c_entry_ops
static
Initial value:
= {
.new = c2c_he_zalloc,
.free = c2c_he_free,
}
static void c2c_he_free(void *he)
Definition: builtin-c2c.c:149
static void * c2c_he_zalloc(size_t size)
Definition: builtin-c2c.c:122

Definition at line 166 of file builtin-c2c.c.

◆ c2c_options

const struct option c2c_options[]
static
Initial value:
= {
OPT_INCR('v', "verbose", &verbose, "be more verbose (show counter open errors, etc)"),
}
int verbose
Definition: jevents.c:53

Definition at line 115 of file builtin-c2c.c.

◆ c2c_usage

const char* const c2c_usage[]
static
Initial value:
= {
"perf c2c {record|report}",
NULL
}

Definition at line 364 of file builtin-c2c.c.

◆ callchain_help

const char callchain_help[]
Initial value:
= "Display call graph (stack chain/backtrace):\n\n"
"\n\t\t\t\tDefault: " CALLCHAIN_DEFAULT_OPT
#define CALLCHAIN_REPORT_HELP
Definition: callchain.h:25
#define CALLCHAIN_DEFAULT_OPT
Definition: builtin-c2c.c:2538

Definition at line 2540 of file builtin-c2c.c.

◆ coalesce_default

char const* coalesce_default = "pid,iaddr"
static

Definition at line 71 of file builtin-c2c.c.

◆ dim_cl_lcl_hitm

struct c2c_dimension dim_cl_lcl_hitm
static
Initial value:
= {
.header = HEADER_SPAN_LOW("Lcl"),
.name = "cl_lcl_hitm",
.cmp = lcl_hitm_cmp,
.entry = lcl_hitm_entry,
.width = 7,
}
#define HEADER_SPAN_LOW(__h)
Definition: builtin-c2c.c:1258

Definition at line 1347 of file builtin-c2c.c.

◆ dim_cl_rmt_hitm

struct c2c_dimension dim_cl_rmt_hitm
static
Initial value:
= {
.header = HEADER_SPAN("----- HITM -----", "Rmt", 1),
.name = "cl_rmt_hitm",
.cmp = rmt_hitm_cmp,
.entry = rmt_hitm_entry,
.width = 7,
}
#define HEADER_SPAN(__h0, __h1, __s)
Definition: builtin-c2c.c:1247

Definition at line 1339 of file builtin-c2c.c.

◆ dim_cl_stores_l1hit

struct c2c_dimension dim_cl_stores_l1hit
static
Initial value:
= {
.header = HEADER_SPAN("-- Store Refs --", "L1 Hit", 1),
.name = "cl_stores_l1hit",
.cmp = st_l1hit_cmp,
.entry = st_l1hit_entry,
.width = 7,
}
#define HEADER_SPAN(__h0, __h1, __s)
Definition: builtin-c2c.c:1247

Definition at line 1379 of file builtin-c2c.c.

◆ dim_cl_stores_l1miss

struct c2c_dimension dim_cl_stores_l1miss
static
Initial value:
= {
.header = HEADER_SPAN_LOW("L1 Miss"),
.name = "cl_stores_l1miss",
.cmp = st_l1miss_cmp,
.entry = st_l1miss_entry,
.width = 7,
}
#define HEADER_SPAN_LOW(__h)
Definition: builtin-c2c.c:1258

Definition at line 1387 of file builtin-c2c.c.

◆ dim_cpucnt

struct c2c_dimension dim_cpucnt
static
Initial value:
= {
.header = HEADER_BOTH("cpu", "cnt"),
.name = "cpucnt",
.cmp = empty_cmp,
.entry = cpucnt_entry,
.width = 8,
}
static int cpucnt_entry(struct perf_hpp_fmt *fmt, struct perf_hpp *hpp, struct hist_entry *he)
Definition: builtin-c2c.c:1194
static int64_t empty_cmp(struct perf_hpp_fmt *fmt __maybe_unused, struct hist_entry *left __maybe_unused, struct hist_entry *right __maybe_unused)
Definition: builtin-c2c.c:1064
#define HEADER_BOTH(__h0, __h1)
Definition: builtin-c2c.c:1237

Definition at line 1587 of file builtin-c2c.c.

◆ dim_dcacheline

struct c2c_dimension dim_dcacheline
static
Initial value:
= {
.header = HEADER_SPAN("--- Cacheline ----", "Address", 2),
.name = "dcacheline",
.entry = dcacheline_entry,
.width = 18,
}
#define HEADER_SPAN(__h0, __h1, __s)
Definition: builtin-c2c.c:1247
static int64_t dcacheline_cmp(struct perf_hpp_fmt *fmt __maybe_unused, struct hist_entry *left, struct hist_entry *right)
Definition: builtin-c2c.c:477
static int dcacheline_entry(struct perf_hpp_fmt *fmt, struct perf_hpp *hpp, struct hist_entry *he)
Definition: builtin-c2c.c:483

Definition at line 1265 of file builtin-c2c.c.

◆ dim_dcacheline_count

struct c2c_dimension dim_dcacheline_count
static
Initial value:
= {
.header = HEADER_LOW("PA cnt"),
.name = "dcacheline_count",
.cmp = empty_cmp,
.width = 6,
}
static int dcacheline_node_count(struct perf_hpp_fmt *fmt, struct perf_hpp *hpp, struct hist_entry *he)
Definition: builtin-c2c.c:511
static int64_t empty_cmp(struct perf_hpp_fmt *fmt __maybe_unused, struct hist_entry *left __maybe_unused, struct hist_entry *right __maybe_unused)
Definition: builtin-c2c.c:1064
#define HEADER_LOW(__h)
Definition: builtin-c2c.c:1230

Definition at line 1281 of file builtin-c2c.c.

◆ dim_dcacheline_idx

struct c2c_dimension dim_dcacheline_idx
static
Initial value:
= {
.header = HEADER_LOW("Index"),
.name = "cl_idx",
.cmp = empty_cmp,
.entry = cl_idx_entry,
.width = 5,
}
static int64_t empty_cmp(struct perf_hpp_fmt *fmt __maybe_unused, struct hist_entry *left __maybe_unused, struct hist_entry *right __maybe_unused)
Definition: builtin-c2c.c:1064
#define HEADER_LOW(__h)
Definition: builtin-c2c.c:1230
static int cl_idx_entry(struct perf_hpp_fmt *fmt, struct perf_hpp *hpp, struct hist_entry *he)
Definition: builtin-c2c.c:1208

Definition at line 1600 of file builtin-c2c.c.

◆ dim_dcacheline_node

struct c2c_dimension dim_dcacheline_node
static
Initial value:
= {
.header = HEADER_LOW("Node"),
.name = "dcacheline_node",
.cmp = empty_cmp,
.width = 4,
}
static int64_t empty_cmp(struct perf_hpp_fmt *fmt __maybe_unused, struct hist_entry *left __maybe_unused, struct hist_entry *right __maybe_unused)
Definition: builtin-c2c.c:1064
#define HEADER_LOW(__h)
Definition: builtin-c2c.c:1230
static int dcacheline_node_entry(struct perf_hpp_fmt *fmt, struct perf_hpp *hpp, struct hist_entry *he)
Definition: builtin-c2c.c:497

Definition at line 1273 of file builtin-c2c.c.

◆ dim_dcacheline_num

struct c2c_dimension dim_dcacheline_num
static
Initial value:
= {
.header = HEADER_LOW("Num"),
.name = "cl_num",
.cmp = empty_cmp,
.entry = cl_idx_entry,
.width = 5,
}
static int64_t empty_cmp(struct perf_hpp_fmt *fmt __maybe_unused, struct hist_entry *left __maybe_unused, struct hist_entry *right __maybe_unused)
Definition: builtin-c2c.c:1064
#define HEADER_LOW(__h)
Definition: builtin-c2c.c:1230
static int cl_idx_entry(struct perf_hpp_fmt *fmt, struct perf_hpp *hpp, struct hist_entry *he)
Definition: builtin-c2c.c:1208

Definition at line 1608 of file builtin-c2c.c.

◆ dim_dcacheline_num_empty

struct c2c_dimension dim_dcacheline_num_empty
static
Initial value:
= {
.header = HEADER_LOW("Num"),
.name = "cl_num_empty",
.cmp = empty_cmp,
.width = 5,
}
static int64_t empty_cmp(struct perf_hpp_fmt *fmt __maybe_unused, struct hist_entry *left __maybe_unused, struct hist_entry *right __maybe_unused)
Definition: builtin-c2c.c:1064
#define HEADER_LOW(__h)
Definition: builtin-c2c.c:1230
static int cl_idx_empty_entry(struct perf_hpp_fmt *fmt, struct perf_hpp *hpp, struct hist_entry *he)
Definition: builtin-c2c.c:1222

Definition at line 1616 of file builtin-c2c.c.

◆ dim_dram_lcl

struct c2c_dimension dim_dram_lcl
static
Initial value:
= {
.header = HEADER_SPAN("--- Load Dram ----", "Lcl", 1),
.name = "dram_lcl",
.cmp = lcl_dram_cmp,
.entry = lcl_dram_entry,
.width = 8,
}
#define HEADER_SPAN(__h0, __h1, __s)
Definition: builtin-c2c.c:1247

Definition at line 1509 of file builtin-c2c.c.

◆ dim_dram_rmt

struct c2c_dimension dim_dram_rmt
static
Initial value:
= {
.header = HEADER_SPAN_LOW("Rmt"),
.name = "dram_rmt",
.cmp = rmt_dram_cmp,
.entry = rmt_dram_entry,
.width = 8,
}
#define HEADER_SPAN_LOW(__h)
Definition: builtin-c2c.c:1258

Definition at line 1517 of file builtin-c2c.c.

◆ dim_dso

struct c2c_dimension dim_dso
static
Initial value:
= {
.header = HEADER_BOTH("Shared", "Object"),
.name = "dso",
.se = &sort_dso,
}
struct sort_entry sort_dso
Definition: sort.c:209
#define HEADER_BOTH(__h0, __h1)
Definition: builtin-c2c.c:1237

Definition at line 1544 of file builtin-c2c.c.

◆ dim_iaddr

struct c2c_dimension dim_iaddr
static
Initial value:
= {
.header = HEADER_LOW("Code address"),
.name = "iaddr",
.cmp = iaddr_cmp,
.entry = iaddr_entry,
.width = 18,
}
static int iaddr_entry(struct perf_hpp_fmt *fmt, struct perf_hpp *hpp, struct hist_entry *he)
Definition: builtin-c2c.c:549
#define HEADER_LOW(__h)
Definition: builtin-c2c.c:1230
static int64_t iaddr_cmp(struct perf_hpp_fmt *fmt __maybe_unused, struct hist_entry *left, struct hist_entry *right)
Definition: builtin-c2c.c:563

Definition at line 1307 of file builtin-c2c.c.

◆ dim_lcl_hitm

struct c2c_dimension dim_lcl_hitm
static
Initial value:
= {
.header = HEADER_SPAN_LOW("Lcl"),
.name = "lcl_hitm",
.cmp = lcl_hitm_cmp,
.entry = lcl_hitm_entry,
.width = 7,
}
#define HEADER_SPAN_LOW(__h)
Definition: builtin-c2c.c:1258

Definition at line 1323 of file builtin-c2c.c.

◆ dim_ld_fbhit

struct c2c_dimension dim_ld_fbhit
static
Initial value:
= {
.header = HEADER_SPAN("----- Core Load Hit -----", "FB", 2),
.name = "ld_fbhit",
.cmp = ld_fbhit_cmp,
.entry = ld_fbhit_entry,
.width = 7,
}
#define HEADER_SPAN(__h0, __h1, __s)
Definition: builtin-c2c.c:1247

Definition at line 1395 of file builtin-c2c.c.

◆ dim_ld_l1hit

struct c2c_dimension dim_ld_l1hit
static
Initial value:
= {
.header = HEADER_SPAN_LOW("L1"),
.name = "ld_l1hit",
.cmp = ld_l1hit_cmp,
.entry = ld_l1hit_entry,
.width = 7,
}
#define HEADER_SPAN_LOW(__h)
Definition: builtin-c2c.c:1258

Definition at line 1403 of file builtin-c2c.c.

◆ dim_ld_l2hit

struct c2c_dimension dim_ld_l2hit
static
Initial value:
= {
.header = HEADER_SPAN_LOW("L2"),
.name = "ld_l2hit",
.cmp = ld_l2hit_cmp,
.entry = ld_l2hit_entry,
.width = 7,
}
#define HEADER_SPAN_LOW(__h)
Definition: builtin-c2c.c:1258

Definition at line 1411 of file builtin-c2c.c.

◆ dim_ld_llchit

struct c2c_dimension dim_ld_llchit
static
Initial value:
= {
.header = HEADER_SPAN("-- LLC Load Hit --", "Llc", 1),
.name = "ld_lclhit",
.cmp = ld_llchit_cmp,
.entry = ld_llchit_entry,
.width = 8,
}
#define HEADER_SPAN(__h0, __h1, __s)
Definition: builtin-c2c.c:1247

Definition at line 1419 of file builtin-c2c.c.

◆ dim_ld_llcmiss

struct c2c_dimension dim_ld_llcmiss
static
Initial value:
= {
.header = HEADER_BOTH("LLC", "Ld Miss"),
.name = "ld_llcmiss",
.entry = ld_llcmiss_entry,
.width = 7,
}
#define HEADER_BOTH(__h0, __h1)
Definition: builtin-c2c.c:1237
static int64_t ld_llcmiss_cmp(struct perf_hpp_fmt *fmt __maybe_unused, struct hist_entry *left, struct hist_entry *right)
Definition: builtin-c2c.c:667
static int ld_llcmiss_entry(struct perf_hpp_fmt *fmt, struct perf_hpp *hpp, struct hist_entry *he)
Definition: builtin-c2c.c:654

Definition at line 1435 of file builtin-c2c.c.

◆ dim_ld_rmthit

struct c2c_dimension dim_ld_rmthit
static
Initial value:
= {
.header = HEADER_SPAN_LOW("Rmt"),
.name = "ld_rmthit",
.cmp = rmt_hit_cmp,
.entry = rmt_hit_entry,
.width = 8,
}
#define HEADER_SPAN_LOW(__h)
Definition: builtin-c2c.c:1258

Definition at line 1427 of file builtin-c2c.c.

◆ dim_mean_lcl

struct c2c_dimension dim_mean_lcl
static
Initial value:
= {
.header = HEADER_SPAN_LOW("lcl hitm"),
.name = "mean_lcl",
.cmp = empty_cmp,
.entry = mean_lcl_entry,
.width = 8,
}
static int64_t empty_cmp(struct perf_hpp_fmt *fmt __maybe_unused, struct hist_entry *left __maybe_unused, struct hist_entry *right __maybe_unused)
Definition: builtin-c2c.c:1064
#define HEADER_SPAN_LOW(__h)
Definition: builtin-c2c.c:1258

Definition at line 1571 of file builtin-c2c.c.

◆ dim_mean_load

struct c2c_dimension dim_mean_load
static
Initial value:
= {
.header = HEADER_SPAN_LOW("load"),
.name = "mean_load",
.cmp = empty_cmp,
.entry = mean_load_entry,
.width = 8,
}
static int64_t empty_cmp(struct perf_hpp_fmt *fmt __maybe_unused, struct hist_entry *left __maybe_unused, struct hist_entry *right __maybe_unused)
Definition: builtin-c2c.c:1064
#define HEADER_SPAN_LOW(__h)
Definition: builtin-c2c.c:1258

Definition at line 1579 of file builtin-c2c.c.

◆ dim_mean_rmt

struct c2c_dimension dim_mean_rmt
static
Initial value:
= {
.header = HEADER_SPAN("---------- cycles ----------", "rmt hitm", 2),
.name = "mean_rmt",
.cmp = empty_cmp,
.entry = mean_rmt_entry,
.width = 8,
}
#define HEADER_SPAN(__h0, __h1, __s)
Definition: builtin-c2c.c:1247
static int64_t empty_cmp(struct perf_hpp_fmt *fmt __maybe_unused, struct hist_entry *left __maybe_unused, struct hist_entry *right __maybe_unused)
Definition: builtin-c2c.c:1064

Definition at line 1563 of file builtin-c2c.c.

◆ dim_node

struct c2c_dimension dim_node
static
Initial value:
= {
.name = "node",
.cmp = empty_cmp,
.entry = node_entry,
.width = 4,
}
static int64_t empty_cmp(struct perf_hpp_fmt *fmt __maybe_unused, struct hist_entry *left __maybe_unused, struct hist_entry *right __maybe_unused)
Definition: builtin-c2c.c:1064
static int node_entry(struct perf_hpp_fmt *fmt __maybe_unused, struct perf_hpp *hpp, struct hist_entry *he)
Definition: builtin-c2c.c:1072

Definition at line 1556 of file builtin-c2c.c.

◆ dim_offset

struct c2c_dimension dim_offset
static
Initial value:
= {
.header = HEADER_SPAN("--- Data address -", "Offset", 2),
.name = "offset",
.cmp = offset_cmp,
.entry = offset_entry,
.width = 18,
}
#define HEADER_SPAN(__h0, __h1, __s)
Definition: builtin-c2c.c:1247
static int64_t offset_cmp(struct perf_hpp_fmt *fmt __maybe_unused, struct hist_entry *left, struct hist_entry *right)
Definition: builtin-c2c.c:535
static int offset_entry(struct perf_hpp_fmt *fmt, struct perf_hpp *hpp, struct hist_entry *he)
Definition: builtin-c2c.c:521

Definition at line 1291 of file builtin-c2c.c.

◆ dim_offset_node

struct c2c_dimension dim_offset_node
static
Initial value:
= {
.header = HEADER_LOW("Node"),
.name = "offset_node",
.cmp = empty_cmp,
.width = 4,
}
static int64_t empty_cmp(struct perf_hpp_fmt *fmt __maybe_unused, struct hist_entry *left __maybe_unused, struct hist_entry *right __maybe_unused)
Definition: builtin-c2c.c:1064
#define HEADER_LOW(__h)
Definition: builtin-c2c.c:1230
static int dcacheline_node_entry(struct perf_hpp_fmt *fmt, struct perf_hpp *hpp, struct hist_entry *he)
Definition: builtin-c2c.c:497

Definition at line 1299 of file builtin-c2c.c.

◆ dim_percent_hitm

struct c2c_dimension dim_percent_hitm
static
Initial value:
= {
.name = "percent_hitm",
.width = 7,
}
static int percent_hitm_color(struct perf_hpp_fmt *fmt, struct perf_hpp *hpp, struct hist_entry *he)
Definition: builtin-c2c.c:859
static int percent_hitm_entry(struct perf_hpp_fmt *fmt, struct perf_hpp *hpp, struct hist_entry *he)
Definition: builtin-c2c.c:845
static int64_t percent_hitm_cmp(struct perf_hpp_fmt *fmt __maybe_unused, struct hist_entry *left, struct hist_entry *right)
Definition: builtin-c2c.c:866

Definition at line 1465 of file builtin-c2c.c.

◆ dim_percent_lcl_hitm

struct c2c_dimension dim_percent_lcl_hitm
static
Initial value:
= {
.header = HEADER_SPAN_LOW("Lcl"),
.name = "percent_lcl_hitm",
.width = 7,
}
#define HEADER_SPAN_LOW(__h)
Definition: builtin-c2c.c:1258
static int percent_lcl_hitm_entry(struct perf_hpp_fmt *fmt, struct perf_hpp *hpp, struct hist_entry *he)
Definition: builtin-c2c.c:952
static int64_t percent_lcl_hitm_cmp(struct perf_hpp_fmt *fmt __maybe_unused, struct hist_entry *left, struct hist_entry *right)
Definition: builtin-c2c.c:970
static int percent_lcl_hitm_color(struct perf_hpp_fmt *fmt, struct perf_hpp *hpp, struct hist_entry *he)
Definition: builtin-c2c.c:963

Definition at line 1482 of file builtin-c2c.c.

◆ dim_percent_rmt_hitm

struct c2c_dimension dim_percent_rmt_hitm
static
Initial value:
= {
.header = HEADER_SPAN("----- HITM -----", "Rmt", 1),
.name = "percent_rmt_hitm",
.width = 7,
}
#define HEADER_SPAN(__h0, __h1, __s)
Definition: builtin-c2c.c:1247
static int percent_rmt_hitm_color(struct perf_hpp_fmt *fmt, struct perf_hpp *hpp, struct hist_entry *he)
Definition: builtin-c2c.c:932
static int64_t percent_rmt_hitm_cmp(struct perf_hpp_fmt *fmt __maybe_unused, struct hist_entry *left, struct hist_entry *right)
Definition: builtin-c2c.c:939
static int percent_rmt_hitm_entry(struct perf_hpp_fmt *fmt, struct perf_hpp *hpp, struct hist_entry *he)
Definition: builtin-c2c.c:921

Definition at line 1473 of file builtin-c2c.c.

◆ dim_percent_stores_l1hit

struct c2c_dimension dim_percent_stores_l1hit
static
Initial value:
= {
.header = HEADER_SPAN("-- Store Refs --", "L1 Hit", 1),
.name = "percent_stores_l1hit",
.width = 7,
}
static int percent_stores_l1hit_entry(struct perf_hpp_fmt *fmt, struct perf_hpp *hpp, struct hist_entry *he)
Definition: builtin-c2c.c:983
#define HEADER_SPAN(__h0, __h1, __s)
Definition: builtin-c2c.c:1247
static int percent_stores_l1hit_color(struct perf_hpp_fmt *fmt, struct perf_hpp *hpp, struct hist_entry *he)
Definition: builtin-c2c.c:994
static int64_t percent_stores_l1hit_cmp(struct perf_hpp_fmt *fmt __maybe_unused, struct hist_entry *left, struct hist_entry *right)
Definition: builtin-c2c.c:1001

Definition at line 1491 of file builtin-c2c.c.

◆ dim_percent_stores_l1miss

struct c2c_dimension dim_percent_stores_l1miss
static
Initial value:
= {
.header = HEADER_SPAN_LOW("L1 Miss"),
.name = "percent_stores_l1miss",
.width = 7,
}
static int percent_stores_l1miss_entry(struct perf_hpp_fmt *fmt, struct perf_hpp *hpp, struct hist_entry *he)
Definition: builtin-c2c.c:1014
#define HEADER_SPAN_LOW(__h)
Definition: builtin-c2c.c:1258
static int percent_stores_l1miss_color(struct perf_hpp_fmt *fmt, struct perf_hpp *hpp, struct hist_entry *he)
Definition: builtin-c2c.c:1025
static int64_t percent_stores_l1miss_cmp(struct perf_hpp_fmt *fmt __maybe_unused, struct hist_entry *left, struct hist_entry *right)
Definition: builtin-c2c.c:1032

Definition at line 1500 of file builtin-c2c.c.

◆ dim_pid

struct c2c_dimension dim_pid
static
Initial value:
= {
.header = HEADER_LOW("Pid"),
.name = "pid",
.cmp = pid_cmp,
.entry = pid_entry,
.width = 7,
}
#define HEADER_LOW(__h)
Definition: builtin-c2c.c:1230
static int pid_entry(struct perf_hpp_fmt *fmt, struct perf_hpp *hpp, struct hist_entry *he)
Definition: builtin-c2c.c:1048
static int64_t pid_cmp(struct perf_hpp_fmt *fmt __maybe_unused, struct hist_entry *left, struct hist_entry *right)
Definition: builtin-c2c.c:1057

Definition at line 1525 of file builtin-c2c.c.

◆ dim_rmt_hitm

struct c2c_dimension dim_rmt_hitm
static
Initial value:
= {
.header = HEADER_SPAN_LOW("Rmt"),
.name = "rmt_hitm",
.cmp = rmt_hitm_cmp,
.entry = rmt_hitm_entry,
.width = 7,
}
#define HEADER_SPAN_LOW(__h)
Definition: builtin-c2c.c:1258

Definition at line 1331 of file builtin-c2c.c.

◆ dim_srcline

static struct c2c_dimension dim_srcline
static
Initial value:
= {
.name = "cl_srcline",
.se = &sort_srcline,
}
struct sort_entry sort_srcline
Definition: sort.c:359

Definition at line 407 of file builtin-c2c.c.

◆ dim_stores

struct c2c_dimension dim_stores
static
Initial value:
= {
.header = HEADER_SPAN("---- Store Reference ----", "Total", 2),
.name = "stores",
.cmp = store_cmp,
.entry = store_entry,
.width = 7,
}
#define HEADER_SPAN(__h0, __h1, __s)
Definition: builtin-c2c.c:1247

Definition at line 1355 of file builtin-c2c.c.

◆ dim_stores_l1hit

struct c2c_dimension dim_stores_l1hit
static
Initial value:
= {
.header = HEADER_SPAN_LOW("L1Hit"),
.name = "stores_l1hit",
.cmp = st_l1hit_cmp,
.entry = st_l1hit_entry,
.width = 7,
}
#define HEADER_SPAN_LOW(__h)
Definition: builtin-c2c.c:1258

Definition at line 1363 of file builtin-c2c.c.

◆ dim_stores_l1miss

struct c2c_dimension dim_stores_l1miss
static
Initial value:
= {
.header = HEADER_SPAN_LOW("L1Miss"),
.name = "stores_l1miss",
.cmp = st_l1miss_cmp,
.entry = st_l1miss_entry,
.width = 7,
}
#define HEADER_SPAN_LOW(__h)
Definition: builtin-c2c.c:1258

Definition at line 1371 of file builtin-c2c.c.

◆ dim_symbol

static struct c2c_dimension dim_symbol
static
Initial value:
= {
.name = "symbol",
.se = &sort_sym,
}
struct sort_entry sort_sym
Definition: sort.c:323

Definition at line 406 of file builtin-c2c.c.

◆ dim_tid

struct c2c_dimension dim_tid
static
Initial value:
= {
.header = HEADER_LOW("Tid"),
.name = "tid",
.se = &sort_thread,
}
struct sort_entry sort_thread
Definition: sort.c:104
#define HEADER_LOW(__h)
Definition: builtin-c2c.c:1230

Definition at line 1533 of file builtin-c2c.c.

◆ dim_tot_hitm

struct c2c_dimension dim_tot_hitm
static
Initial value:
= {
.header = HEADER_SPAN("----- LLC Load Hitm -----", "Total", 2),
.name = "tot_hitm",
.cmp = tot_hitm_cmp,
.entry = tot_hitm_entry,
.width = 7,
}
#define HEADER_SPAN(__h0, __h1, __s)
Definition: builtin-c2c.c:1247
static int64_t tot_hitm_cmp(struct perf_hpp_fmt *fmt __maybe_unused, struct hist_entry *left, struct hist_entry *right)
Definition: builtin-c2c.c:584
static int tot_hitm_entry(struct perf_hpp_fmt *fmt, struct perf_hpp *hpp, struct hist_entry *he)
Definition: builtin-c2c.c:570

Definition at line 1315 of file builtin-c2c.c.

◆ dim_tot_loads

struct c2c_dimension dim_tot_loads
static
Initial value:
= {
.header = HEADER_BOTH("Total", "Loads"),
.name = "tot_loads",
.cmp = tot_loads_cmp,
.entry = tot_loads_entry,
.width = 7,
}
static int64_t tot_loads_cmp(struct perf_hpp_fmt *fmt __maybe_unused, struct hist_entry *left, struct hist_entry *right)
Definition: builtin-c2c.c:768
#define HEADER_BOTH(__h0, __h1)
Definition: builtin-c2c.c:1237
static int tot_loads_entry(struct perf_hpp_fmt *fmt, struct perf_hpp *hpp, struct hist_entry *he)
Definition: builtin-c2c.c:754

Definition at line 1451 of file builtin-c2c.c.

◆ dim_tot_recs

struct c2c_dimension dim_tot_recs
static
Initial value:
= {
.header = HEADER_BOTH("Total", "records"),
.name = "tot_recs",
.cmp = tot_recs_cmp,
.entry = tot_recs_entry,
.width = 7,
}
static int64_t tot_recs_cmp(struct perf_hpp_fmt *fmt __maybe_unused, struct hist_entry *left, struct hist_entry *right)
Definition: builtin-c2c.c:717
#define HEADER_BOTH(__h0, __h1)
Definition: builtin-c2c.c:1237
static int tot_recs_entry(struct perf_hpp_fmt *fmt, struct perf_hpp *hpp, struct hist_entry *he)
Definition: builtin-c2c.c:703

Definition at line 1443 of file builtin-c2c.c.

◆ dimensions

struct c2c_dimension* dimensions[]
static

Definition at line 1624 of file builtin-c2c.c.

◆ display_str

const char* display_str[DISPLAY_MAX]
static
Initial value:
= {
[DISPLAY_LCL] = "Local",
[DISPLAY_RMT] = "Remote",
[DISPLAY_TOT] = "Total",
}

Definition at line 109 of file builtin-c2c.c.

◆ header_node

struct c2c_header header_node[3]
static
Initial value:
= {
HEADER_LOW("Node"),
HEADER_LOW("Node{cpus %hitms %stores}"),
HEADER_LOW("Node{cpu list}"),
}
#define HEADER_LOW(__h)
Definition: builtin-c2c.c:1230

Definition at line 1550 of file builtin-c2c.c.

◆ header_offset_tui

struct c2c_header header_offset_tui = HEADER_SPAN("-----", "Off", 2)
static

Definition at line 1289 of file builtin-c2c.c.

◆ percent_hitm_header

struct c2c_header percent_hitm_header[]
static
Initial value:
= {
[DISPLAY_LCL] = HEADER_BOTH("Lcl", "Hitm"),
[DISPLAY_RMT] = HEADER_BOTH("Rmt", "Hitm"),
[DISPLAY_TOT] = HEADER_BOTH("Tot", "Hitm"),
}
#define HEADER_BOTH(__h0, __h1)
Definition: builtin-c2c.c:1237

Definition at line 1459 of file builtin-c2c.c.

◆ record_mem_usage

const char* const* record_mem_usage = __usage_record
static

Definition at line 2867 of file builtin-c2c.c.

◆ report_c2c_usage

const char* const* report_c2c_usage = __usage_report
static

Definition at line 374 of file builtin-c2c.c.