xref: /linux/tools/perf/util/thread.h (revision a0b54e256d513ed99e456bea6e4e188ff92e7c46)
1 #include <linux/rbtree.h>
2 #include <linux/list.h>
3 #include <unistd.h>
4 #include "symbol.h"
5 
6 struct thread {
7 	struct rb_node	 rb_node;
8 	struct list_head maps;
9 	pid_t		 pid;
10 	char		 *comm;
11 };
12 
13 int thread__set_comm(struct thread *self, const char *comm);
14 struct thread *
15 threads__findnew(pid_t pid, struct rb_root *threads, struct thread **last_match);
16 struct thread *
17 register_idle_thread(struct rb_root *threads, struct thread **last_match);
18 void thread__insert_map(struct thread *self, struct map *map);
19 int thread__fork(struct thread *self, struct thread *parent);
20 struct map *thread__find_map(struct thread *self, u64 ip);
21 size_t threads__fprintf(FILE *fp, struct rb_root *threads);
22