Lines Matching refs:atom
514 struct sched_atom *atom) in perf_sched__process_event() argument
518 switch (atom->type) { in perf_sched__process_event()
520 burn_nsecs(sched, atom->duration); in perf_sched__process_event()
523 if (atom->wait_sem) in perf_sched__process_event()
524 ret = sem_wait(atom->wait_sem); in perf_sched__process_event()
528 if (atom->wait_sem) in perf_sched__process_event()
529 ret = sem_post(atom->wait_sem); in perf_sched__process_event()
1056 struct work_atom *atom = zalloc(sizeof(*atom)); in add_sched_out_event() local
1057 if (!atom) { in add_sched_out_event()
1062 atom->sched_out_time = timestamp; in add_sched_out_event()
1065 atom->state = THREAD_WAIT_CPU; in add_sched_out_event()
1066 atom->wake_up_time = atom->sched_out_time; in add_sched_out_event()
1069 list_add_tail(&atom->list, &atoms->work_list); in add_sched_out_event()
1077 struct work_atom *atom; in add_runtime_event() local
1081 atom = list_entry(atoms->work_list.prev, struct work_atom, list); in add_runtime_event()
1083 atom->runtime += delta; in add_runtime_event()
1090 struct work_atom *atom; in add_sched_in_event() local
1096 atom = list_entry(atoms->work_list.prev, struct work_atom, list); in add_sched_in_event()
1098 if (atom->state != THREAD_WAIT_CPU) in add_sched_in_event()
1101 if (timestamp < atom->wake_up_time) { in add_sched_in_event()
1102 atom->state = THREAD_IGNORE; in add_sched_in_event()
1106 atom->state = THREAD_SCHED_IN; in add_sched_in_event()
1107 atom->sched_in_time = timestamp; in add_sched_in_event()
1109 delta = atom->sched_in_time - atom->wake_up_time; in add_sched_in_event()
1113 atoms->max_lat_start = atom->wake_up_time; in add_sched_in_event()
1231 struct work_atom *atom; in latency_wakeup_event() local
1254 atom = list_entry(atoms->work_list.prev, struct work_atom, list); in latency_wakeup_event()
1267 if (sched->profile_cpu == -1 && atom->state != THREAD_SLEEPING) in latency_wakeup_event()
1271 if (atom->sched_out_time > timestamp) { in latency_wakeup_event()
1276 atom->state = THREAD_WAIT_CPU; in latency_wakeup_event()
1277 atom->wake_up_time = timestamp; in latency_wakeup_event()
1293 struct work_atom *atom; in latency_migrate_task_event() local
1322 atom = list_entry(atoms->work_list.prev, struct work_atom, list); in latency_migrate_task_event()
1323 atom->sched_in_time = atom->sched_out_time = atom->wake_up_time = timestamp; in latency_migrate_task_event()
1327 if (atom->sched_out_time > timestamp) in latency_migrate_task_event()