Lines Matching refs:atom
509 struct sched_atom *atom) in perf_sched__process_event() argument
513 switch (atom->type) { in perf_sched__process_event()
515 burn_nsecs(sched, atom->duration); in perf_sched__process_event()
518 if (atom->wait_sem) in perf_sched__process_event()
519 ret = sem_wait(atom->wait_sem); in perf_sched__process_event()
523 if (atom->wait_sem) in perf_sched__process_event()
524 ret = sem_post(atom->wait_sem); in perf_sched__process_event()
1029 struct work_atom *atom = zalloc(sizeof(*atom)); in add_sched_out_event() local
1030 if (!atom) { in add_sched_out_event()
1035 atom->sched_out_time = timestamp; in add_sched_out_event()
1038 atom->state = THREAD_WAIT_CPU; in add_sched_out_event()
1039 atom->wake_up_time = atom->sched_out_time; in add_sched_out_event()
1042 list_add_tail(&atom->list, &atoms->work_list); in add_sched_out_event()
1050 struct work_atom *atom; in add_runtime_event() local
1054 atom = list_entry(atoms->work_list.prev, struct work_atom, list); in add_runtime_event()
1056 atom->runtime += delta; in add_runtime_event()
1063 struct work_atom *atom; in add_sched_in_event() local
1069 atom = list_entry(atoms->work_list.prev, struct work_atom, list); in add_sched_in_event()
1071 if (atom->state != THREAD_WAIT_CPU) in add_sched_in_event()
1074 if (timestamp < atom->wake_up_time) { in add_sched_in_event()
1075 atom->state = THREAD_IGNORE; in add_sched_in_event()
1079 atom->state = THREAD_SCHED_IN; in add_sched_in_event()
1080 atom->sched_in_time = timestamp; in add_sched_in_event()
1082 delta = atom->sched_in_time - atom->wake_up_time; in add_sched_in_event()
1203 struct work_atom *atom; in latency_wakeup_event() local
1226 atom = list_entry(atoms->work_list.prev, struct work_atom, list); in latency_wakeup_event()
1239 if (sched->profile_cpu == -1 && atom->state != THREAD_SLEEPING) in latency_wakeup_event()
1243 if (atom->sched_out_time > timestamp) { in latency_wakeup_event()
1248 atom->state = THREAD_WAIT_CPU; in latency_wakeup_event()
1249 atom->wake_up_time = timestamp; in latency_wakeup_event()
1265 struct work_atom *atom; in latency_migrate_task_event() local
1294 atom = list_entry(atoms->work_list.prev, struct work_atom, list); in latency_migrate_task_event()
1295 atom->sched_in_time = atom->sched_out_time = atom->wake_up_time = timestamp; in latency_migrate_task_event()
1299 if (atom->sched_out_time > timestamp) in latency_migrate_task_event()