Lines Matching defs:task
818 struct task {
824 static struct task *tasks_list(struct task *task, struct machine *machine)
826 struct thread *parent_thread, *thread = task->thread;
827 struct task *parent_task;
830 if (!list_empty(&task->list))
835 return task;
843 list_add_tail(&task->list, &parent_task->children);
870 static void task__print_level(struct task *task, FILE *fp, int level)
872 struct thread *thread = task->thread;
873 struct task *child;
882 if (!list_empty(&task->children)) {
883 list_for_each_entry(child, &task->children, list)
892 struct task *tasks, *task;
915 task = tasks + itask++;
917 task->thread = rb_entry(nd, struct thread_rb_node, rb_node)->thread;
918 INIT_LIST_HEAD(&task->children);
919 INIT_LIST_HEAD(&task->list);
920 thread__set_priv(task->thread, task);
925 * Iterate every task down to the unprocessed parent
926 * and link all in task children list. Task with no
930 task = tasks + itask;
932 if (!list_empty(&task->list))
935 task = tasks_list(task, machine);
936 if (IS_ERR(task)) {
939 return PTR_ERR(task);
942 if (task)
943 list_add_tail(&task->list, &list);
948 list_for_each_entry(task, &list, list)
949 task__print_level(task, fp, 0);