Lines Matching refs:atoms
61 struct sched_atom **atoms; member
245 task->atoms = realloc(task->atoms, size); in get_new_event()
246 BUG_ON(!task->atoms); in get_new_event()
248 task->atoms[idx] = event; in get_new_event()
258 return task->atoms[task->nr_events - 1]; in last_event()
487 process_sched_event(this_task, this_task->atoms[i]); in thread_func()
927 struct work_atoms *atoms; in thread_atoms_search() local
930 atoms = container_of(node, struct work_atoms, node); in thread_atoms_search()
932 cmp = thread_lat_cmp(sort_list, &key, atoms); in thread_atoms_search()
938 BUG_ON(thread != atoms->thread); in thread_atoms_search()
939 return atoms; in thread_atoms_search()
972 struct work_atoms *atoms = zalloc(sizeof(*atoms)); in thread_atoms_insert() local
973 if (!atoms) in thread_atoms_insert()
976 atoms->thread = thread; in thread_atoms_insert()
977 INIT_LIST_HEAD(&atoms->work_list); in thread_atoms_insert()
978 __thread_latency_insert(&atom_root, atoms, &cmp_pid); in thread_atoms_insert()
1000 add_sched_out_event(struct work_atoms *atoms, in add_sched_out_event() argument
1015 list_add_tail(&atom->list, &atoms->work_list); in add_sched_out_event()
1019 add_runtime_event(struct work_atoms *atoms, u64 delta, u64 timestamp __used) in add_runtime_event() argument
1023 BUG_ON(list_empty(&atoms->work_list)); in add_runtime_event()
1025 atom = list_entry(atoms->work_list.prev, struct work_atom, list); in add_runtime_event()
1028 atoms->total_runtime += delta; in add_runtime_event()
1032 add_sched_in_event(struct work_atoms *atoms, u64 timestamp) in add_sched_in_event() argument
1037 if (list_empty(&atoms->work_list)) in add_sched_in_event()
1040 atom = list_entry(atoms->work_list.prev, struct work_atom, list); in add_sched_in_event()
1054 atoms->total_lat += delta; in add_sched_in_event()
1055 if (delta > atoms->max_lat) { in add_sched_in_event()
1056 atoms->max_lat = delta; in add_sched_in_event()
1057 atoms->max_lat_at = timestamp; in add_sched_in_event()
1059 atoms->nb_atoms++; in add_sched_in_event()
1124 struct work_atoms *atoms = thread_atoms_search(&atom_root, thread, &cmp_pid); in latency_runtime_event() local
1127 if (!atoms) { in latency_runtime_event()
1129 atoms = thread_atoms_search(&atom_root, thread, &cmp_pid); in latency_runtime_event()
1130 if (!atoms) in latency_runtime_event()
1132 add_sched_out_event(atoms, 'R', timestamp); in latency_runtime_event()
1135 add_runtime_event(atoms, runtime_event->runtime, timestamp); in latency_runtime_event()
1146 struct work_atoms *atoms; in latency_wakeup_event() local
1155 atoms = thread_atoms_search(&atom_root, wakee, &cmp_pid); in latency_wakeup_event()
1156 if (!atoms) { in latency_wakeup_event()
1158 atoms = thread_atoms_search(&atom_root, wakee, &cmp_pid); in latency_wakeup_event()
1159 if (!atoms) in latency_wakeup_event()
1161 add_sched_out_event(atoms, 'S', timestamp); in latency_wakeup_event()
1164 BUG_ON(list_empty(&atoms->work_list)); in latency_wakeup_event()
1166 atom = list_entry(atoms->work_list.prev, struct work_atom, list); in latency_wakeup_event()
1194 struct work_atoms *atoms; in latency_migrate_task_event() local
1205 atoms = thread_atoms_search(&atom_root, migrant, &cmp_pid); in latency_migrate_task_event()
1206 if (!atoms) { in latency_migrate_task_event()
1209 atoms = thread_atoms_search(&atom_root, migrant, &cmp_pid); in latency_migrate_task_event()
1210 if (!atoms) in latency_migrate_task_event()
1212 add_sched_out_event(atoms, 'R', timestamp); in latency_migrate_task_event()
1215 BUG_ON(list_empty(&atoms->work_list)); in latency_migrate_task_event()
1217 atom = list_entry(atoms->work_list.prev, struct work_atom, list); in latency_migrate_task_event()