1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
|
/* SPDX-License-Identifier: GPL-2.0 */
#ifndef __PERF_SYMBOL_CONF
#define __PERF_SYMBOL_CONF 1
#include <stdbool.h>
#include <linux/bitmap.h>
#include "perf.h"
struct strlist;
struct intlist;
enum unwind_style {
UNWIND_STYLE_UNKNOWN = 0,
UNWIND_STYLE_LIBDW,
UNWIND_STYLE_LIBUNWIND,
};
#define MAX_UNWIND_STYLE (UNWIND_STYLE_LIBUNWIND + 1)
enum a2l_style {
A2L_STYLE_UNKNOWN = 0,
A2L_STYLE_LIBDW,
A2L_STYLE_LLVM,
A2L_STYLE_LIBBFD,
A2L_STYLE_CMD,
};
#define MAX_A2L_STYLE (A2L_STYLE_CMD + 1)
enum symbol__weight_mode {
WEIGHT_NONE = 0,
WEIGHT_WEIGHT,
WEIGHT_INSNLAT,
WEIGHT_WEIGHT3,
};
#define for_each_weight(_weight) \
for ((_weight) = WEIGHT_WEIGHT; (_weight) <= WEIGHT_WEIGHT3; (_weight)++)
struct symbol_conf {
bool hybrid_merge;
/* Was hybrid_merge given on the command line rather than in a config file? */
bool hybrid_merge_set;
bool nanosecs;
unsigned short priv_size;
bool try_vmlinux_path,
init_annotation,
force,
ignore_vmlinux,
ignore_vmlinux_buildid,
show_kernel_path,
use_modules,
allow_aliases,
show_nr_samples,
show_total_period,
use_callchain,
cumulate_callchain,
show_branchflag_count,
exclude_other,
show_cpu_utilization,
initialized,
kptr_restrict,
event_group,
demangle,
demangle_kernel,
filter_relative,
show_hist_headers,
has_filter,
show_ref_callgraph,
hide_unresolved,
raw_trace,
report_hierarchy,
report_block,
report_individual_block,
inline_name,
addr2line_disable_warn,
no_buildid_mmap2,
guest_code,
lazy_load_kernel_maps,
keep_exited_threads,
annotate_data_member,
annotate_data_sample,
skip_empty,
enable_latency,
prefer_latency,
annotate_weight;
const char *vmlinux_name,
*kallsyms_name,
*source_prefix,
*field_sep,
*graph_function;
const char *default_guest_vmlinux_name,
*default_guest_kallsyms,
*default_guest_modules;
const char *guestmount;
const char *dso_list_str,
*comm_list_str,
*pid_list_str,
*tid_list_str,
*sym_list_str,
*parallelism_list_str,
*col_width_list_str,
*bt_stop_list_str;
const char *addr2line_path;
enum a2l_style addr2line_style[MAX_A2L_STYLE];
int addr2line_timeout_ms;
enum unwind_style unwind_style[MAX_UNWIND_STYLE];
unsigned long time_quantum;
struct strlist *dso_list,
*comm_list,
*sym_list,
*dso_from_list,
*dso_to_list,
*sym_from_list,
*sym_to_list,
*bt_stop_list;
struct intlist *pid_list,
*tid_list,
*addr_list;
const char *symfs;
bool symfs_layout_flat;
int res_sample;
int pad_output_len_dso;
int group_sort_idx;
int addr_range;
DECLARE_BITMAP(parallelism_filter, MAX_NR_CPUS + 1);
};
extern struct symbol_conf symbol_conf;
#endif // __PERF_SYMBOL_CONF
|