Lines Matching defs:atom
201 struct kwork_atom *atom = NULL;
207 atom = &page->atoms[i];
217 pr_err("Failed to zalloc kwork atom page\n");
222 atom = &page->atoms[0];
227 atom->time = sample->time;
228 atom->prev = NULL;
229 atom->page_addr = page;
230 atom->bit_inpage = i;
231 return atom;
234 static void atom_free(struct kwork_atom *atom)
236 if (atom->prev != NULL)
237 atom_free(atom->prev);
239 __clear_bit(atom->bit_inpage,
240 ((struct kwork_atom_page *)atom->page_addr)->bitmap);
243 static void atom_del(struct kwork_atom *atom)
245 list_del(&atom->list);
246 atom_free(atom);
397 struct kwork_atom *atom, *dst_atom;
403 atom = atom_new(kwork, sample);
404 if (atom == NULL)
409 atom_free(atom);
414 atom_free(atom);
422 atom->prev = dst_atom;
430 list_add_tail(&atom->list, &work->atom_list[src_type]);
444 struct kwork_atom *atom, *src_atom;
460 atom = list_last_entry_or_null(&work->atom_list[dst_type],
462 if (atom != NULL)
463 return atom;
477 struct kwork_atom *atom,
482 u64 entry_time = atom->time;
514 struct kwork_atom *atom = NULL;
517 atom = work_pop_atom(kwork, class, KWORK_TRACE_EXIT,
523 if (atom != NULL) {
524 report_update_exit_event(work, atom, sample);
525 atom_del(atom);
532 struct kwork_atom *atom,
537 u64 raise_time = atom->time;
569 struct kwork_atom *atom = NULL;
572 atom = work_pop_atom(kwork, class, KWORK_TRACE_ENTRY,
578 if (atom != NULL) {
579 latency_update_entry_event(work, atom, sample);
580 atom_del(atom);
637 struct kwork_atom *atom,
647 timestamp__scnprintf_usec(atom->time,
678 (double)(sample->time - atom->time) / NSEC_PER_MSEC);
683 if (atom->prev != NULL)
685 (double)(atom->time - atom->prev->time) / NSEC_PER_MSEC);
749 struct kwork_atom *atom = NULL;
761 atom = work_pop_atom(kwork, class, KWORK_TRACE_EXIT,
769 if (atom != NULL) {
771 timehist_print_event(kwork, work, atom, sample, &al);
772 atom_del(atom);
1281 printf(" INFO: use %lld atom pages\n",