Lines Matching refs:atoms
51 struct sched_atom **atoms;
229 task->atoms = realloc(task->atoms, size);
230 BUG_ON(!task->atoms);
232 task->atoms[idx] = event;
242 return task->atoms[task->nr_events - 1];
467 process_sched_event(this_task, this_task->atoms[i]);
883 struct work_atoms *atoms;
886 atoms = container_of(node, struct work_atoms, node);
888 cmp = thread_lat_cmp(sort_list, &key, atoms);
894 BUG_ON(thread != atoms->thread);
895 return atoms;
928 struct work_atoms *atoms = zalloc(sizeof(*atoms));
929 if (!atoms)
932 atoms->thread = thread;
933 INIT_LIST_HEAD(&atoms->work_list);
934 __thread_latency_insert(&atom_root, atoms, &cmp_pid);
956 add_sched_out_event(struct work_atoms *atoms,
971 list_add_tail(&atom->list, &atoms->work_list);
975 add_runtime_event(struct work_atoms *atoms, u64 delta, u64 timestamp __used)
979 BUG_ON(list_empty(&atoms->work_list));
981 atom = list_entry(atoms->work_list.prev, struct work_atom, list);
984 atoms->total_runtime += delta;
988 add_sched_in_event(struct work_atoms *atoms, u64 timestamp)
993 if (list_empty(&atoms->work_list))
996 atom = list_entry(atoms->work_list.prev, struct work_atom, list);
1010 atoms->total_lat += delta;
1011 if (delta > atoms->max_lat) {
1012 atoms->max_lat = delta;
1013 atoms->max_lat_at = timestamp;
1015 atoms->nb_atoms++;
1080 struct work_atoms *atoms = thread_atoms_search(&atom_root, thread, &cmp_pid);
1083 if (!atoms) {
1085 atoms = thread_atoms_search(&atom_root, thread, &cmp_pid);
1086 if (!atoms)
1088 add_sched_out_event(atoms, 'R', timestamp);
1091 add_runtime_event(atoms, runtime_event->runtime, timestamp);
1102 struct work_atoms *atoms;
1111 atoms = thread_atoms_search(&atom_root, wakee, &cmp_pid);
1112 if (!atoms) {
1114 atoms = thread_atoms_search(&atom_root, wakee, &cmp_pid);
1115 if (!atoms)
1117 add_sched_out_event(atoms, 'S', timestamp);
1120 BUG_ON(list_empty(&atoms->work_list));
1122 atom = list_entry(atoms->work_list.prev, struct work_atom, list);
1150 struct work_atoms *atoms;
1161 atoms = thread_atoms_search(&atom_root, migrant, &cmp_pid);
1162 if (!atoms) {
1165 atoms = thread_atoms_search(&atom_root, migrant, &cmp_pid);
1166 if (!atoms)
1168 add_sched_out_event(atoms, 'R', timestamp);
1171 BUG_ON(list_empty(&atoms->work_list));
1173 atom = list_entry(atoms->work_list.prev, struct work_atom, list);
1760 printf("run atoms optimized: %ld\n",