Lines Matching refs:atom
516 struct sched_atom *atom) in perf_sched__process_event() argument
520 switch (atom->type) { in perf_sched__process_event()
522 burn_nsecs(sched, atom->duration); in perf_sched__process_event()
525 if (atom->wait_sem) in perf_sched__process_event()
526 ret = sem_wait(atom->wait_sem); in perf_sched__process_event()
530 if (atom->wait_sem) in perf_sched__process_event()
531 ret = sem_post(atom->wait_sem); in perf_sched__process_event()
1039 struct work_atom *atom = zalloc(sizeof(*atom)); in add_sched_out_event() local
1040 if (!atom) { in add_sched_out_event()
1045 atom->sched_out_time = timestamp; in add_sched_out_event()
1048 atom->state = THREAD_WAIT_CPU; in add_sched_out_event()
1049 atom->wake_up_time = atom->sched_out_time; in add_sched_out_event()
1052 list_add_tail(&atom->list, &atoms->work_list); in add_sched_out_event()
1060 struct work_atom *atom; in add_runtime_event() local
1064 atom = list_entry(atoms->work_list.prev, struct work_atom, list); in add_runtime_event()
1066 atom->runtime += delta; in add_runtime_event()
1073 struct work_atom *atom; in add_sched_in_event() local
1079 atom = list_entry(atoms->work_list.prev, struct work_atom, list); in add_sched_in_event()
1081 if (atom->state != THREAD_WAIT_CPU) in add_sched_in_event()
1084 if (timestamp < atom->wake_up_time) { in add_sched_in_event()
1085 atom->state = THREAD_IGNORE; in add_sched_in_event()
1089 atom->state = THREAD_SCHED_IN; in add_sched_in_event()
1090 atom->sched_in_time = timestamp; in add_sched_in_event()
1092 delta = atom->sched_in_time - atom->wake_up_time; in add_sched_in_event()
1213 struct work_atom *atom; in latency_wakeup_event() local
1236 atom = list_entry(atoms->work_list.prev, struct work_atom, list); in latency_wakeup_event()
1249 if (sched->profile_cpu == -1 && atom->state != THREAD_SLEEPING) in latency_wakeup_event()
1253 if (atom->sched_out_time > timestamp) { in latency_wakeup_event()
1258 atom->state = THREAD_WAIT_CPU; in latency_wakeup_event()
1259 atom->wake_up_time = timestamp; in latency_wakeup_event()
1275 struct work_atom *atom; in latency_migrate_task_event() local
1304 atom = list_entry(atoms->work_list.prev, struct work_atom, list); in latency_migrate_task_event()
1305 atom->sched_in_time = atom->sched_out_time = atom->wake_up_time = timestamp; in latency_migrate_task_event()
1309 if (atom->sched_out_time > timestamp) in latency_migrate_task_event()