Lines Matching refs:atom
403 struct sched_atom *atom) in perf_sched__process_event() argument
407 switch (atom->type) { in perf_sched__process_event()
409 burn_nsecs(sched, atom->duration); in perf_sched__process_event()
412 if (atom->wait_sem) in perf_sched__process_event()
413 ret = sem_wait(atom->wait_sem); in perf_sched__process_event()
417 if (atom->wait_sem) in perf_sched__process_event()
418 ret = sem_post(atom->wait_sem); in perf_sched__process_event()
892 struct work_atom *atom = zalloc(sizeof(*atom)); in add_sched_out_event() local
893 if (!atom) { in add_sched_out_event()
898 atom->sched_out_time = timestamp; in add_sched_out_event()
901 atom->state = THREAD_WAIT_CPU; in add_sched_out_event()
902 atom->wake_up_time = atom->sched_out_time; in add_sched_out_event()
905 list_add_tail(&atom->list, &atoms->work_list); in add_sched_out_event()
913 struct work_atom *atom; in add_runtime_event() local
917 atom = list_entry(atoms->work_list.prev, struct work_atom, list); in add_runtime_event()
919 atom->runtime += delta; in add_runtime_event()
926 struct work_atom *atom; in add_sched_in_event() local
932 atom = list_entry(atoms->work_list.prev, struct work_atom, list); in add_sched_in_event()
934 if (atom->state != THREAD_WAIT_CPU) in add_sched_in_event()
937 if (timestamp < atom->wake_up_time) { in add_sched_in_event()
938 atom->state = THREAD_IGNORE; in add_sched_in_event()
942 atom->state = THREAD_SCHED_IN; in add_sched_in_event()
943 atom->sched_in_time = timestamp; in add_sched_in_event()
945 delta = atom->sched_in_time - atom->wake_up_time; in add_sched_in_event()
1066 struct work_atom *atom; in latency_wakeup_event() local
1089 atom = list_entry(atoms->work_list.prev, struct work_atom, list); in latency_wakeup_event()
1102 if (sched->profile_cpu == -1 && atom->state != THREAD_SLEEPING) in latency_wakeup_event()
1106 if (atom->sched_out_time > timestamp) { in latency_wakeup_event()
1111 atom->state = THREAD_WAIT_CPU; in latency_wakeup_event()
1112 atom->wake_up_time = timestamp; in latency_wakeup_event()
1128 struct work_atom *atom; in latency_migrate_task_event() local
1157 atom = list_entry(atoms->work_list.prev, struct work_atom, list); in latency_migrate_task_event()
1158 atom->sched_in_time = atom->sched_out_time = atom->wake_up_time = timestamp; in latency_migrate_task_event()
1162 if (atom->sched_out_time > timestamp) in latency_migrate_task_event()