1 #ifndef __PERF_THREAD_H
2 #define __PERF_THREAD_H
4 #include <linux/rbtree.h>
10 struct rb_node rb_node
;
11 struct list_head node
;
28 void thread__delete(struct thread
*self
);
30 struct thread_map
*thread_map__new_by_pid(pid_t pid
);
31 struct thread_map
*thread_map__new_by_tid(pid_t tid
);
32 struct thread_map
*thread_map__new(pid_t pid
, pid_t tid
);
34 static inline void thread_map__delete(struct thread_map
*threads
)
39 int thread__set_comm(struct thread
*self
, const char *comm
);
40 int thread__comm_len(struct thread
*self
);
41 struct thread
*perf_session__findnew(struct perf_session
*self
, pid_t pid
);
42 void thread__insert_map(struct thread
*self
, struct map
*map
);
43 int thread__fork(struct thread
*self
, struct thread
*parent
);
44 size_t perf_session__fprintf(struct perf_session
*self
, FILE *fp
);
46 static inline struct map
*thread__find_map(struct thread
*self
,
47 enum map_type type
, u64 addr
)
49 return self
? map_groups__find(&self
->mg
, type
, addr
) : NULL
;
52 void thread__find_addr_map(struct thread
*self
,
53 struct perf_session
*session
, u8 cpumode
,
54 enum map_type type
, pid_t pid
, u64 addr
,
55 struct addr_location
*al
);
57 void thread__find_addr_location(struct thread
*self
,
58 struct perf_session
*session
, u8 cpumode
,
59 enum map_type type
, pid_t pid
, u64 addr
,
60 struct addr_location
*al
,
61 symbol_filter_t filter
);
62 #endif /* __PERF_THREAD_H */