1 #ifndef __PERF_THREAD_H
2 #define __PERF_THREAD_H
4 #include <linux/rbtree.h>
9 struct rb_root maps
[MAP__NR_TYPES
];
10 struct list_head removed_maps
[MAP__NR_TYPES
];
14 struct rb_node rb_node
;
22 void map_groups__init(struct map_groups
*self
);
23 int thread__set_comm(struct thread
*self
, const char *comm
);
24 int thread__comm_len(struct thread
*self
);
25 struct thread
*perf_session__findnew(struct perf_session
*self
, pid_t pid
);
26 void thread__insert_map(struct thread
*self
, struct map
*map
);
27 int thread__fork(struct thread
*self
, struct thread
*parent
);
28 size_t map_groups__fprintf_maps(struct map_groups
*self
, FILE *fp
);
29 size_t perf_session__fprintf(struct perf_session
*self
, FILE *fp
);
31 void maps__insert(struct rb_root
*maps
, struct map
*map
);
32 struct map
*maps__find(struct rb_root
*maps
, u64 addr
);
34 static inline void map_groups__insert(struct map_groups
*self
, struct map
*map
)
36 maps__insert(&self
->maps
[map
->type
], map
);
39 static inline struct map
*map_groups__find(struct map_groups
*self
,
40 enum map_type type
, u64 addr
)
42 return maps__find(&self
->maps
[type
], addr
);
45 static inline struct map
*thread__find_map(struct thread
*self
,
46 enum map_type type
, u64 addr
)
48 return self
? map_groups__find(&self
->mg
, type
, addr
) : NULL
;
51 void thread__find_addr_map(struct thread
*self
,
52 struct perf_session
*session
, u8 cpumode
,
53 enum map_type type
, u64 addr
,
54 struct addr_location
*al
);
56 void thread__find_addr_location(struct thread
*self
,
57 struct perf_session
*session
, u8 cpumode
,
58 enum map_type type
, u64 addr
,
59 struct addr_location
*al
,
60 symbol_filter_t filter
);
61 struct symbol
*map_groups__find_symbol(struct map_groups
*self
,
62 struct perf_session
*session
,
63 enum map_type type
, u64 addr
,
64 symbol_filter_t filter
);
66 static inline struct symbol
*
67 map_groups__find_function(struct map_groups
*self
, struct perf_session
*session
,
68 u64 addr
, symbol_filter_t filter
)
70 return map_groups__find_symbol(self
, session
, MAP__FUNCTION
, addr
, filter
);
73 struct map
*map_groups__find_by_name(struct map_groups
*self
,
74 enum map_type type
, const char *name
);
76 int __map_groups__create_kernel_maps(struct map_groups
*self
,
77 struct map
*vmlinux_maps
[MAP__NR_TYPES
],
79 #endif /* __PERF_THREAD_H */
This page took 0.032089 seconds and 5 git commands to generate.