Lines Matching full:sample
48 struct perf_sample sample;
145 struct perf_sample *sample,
152 struct perf_sample *sample,
313 struct perf_sample *sample __maybe_unused,
321 struct perf_sample *sample __maybe_unused,
329 struct perf_sample *sample,
335 inject->aux_id = sample->id;
343 struct perf_sample *sample)
345 size_t sz1 = sample->aux_sample.data - (void *)event;
346 size_t sz2 = event->header.size - sample->aux_sample.size - sz1;
370 struct perf_sample *sample,
376 struct perf_sample *sample,
385 return f(tool, event, sample, evsel, machine);
388 build_id__mark_dso_hit(tool, event, sample, evsel, machine);
390 if (inject->itrace_synth_opts.set && sample->aux_sample.size) {
391 event = perf_inject__cut_auxtrace_sample(inject, event, sample);
445 * The evsel used for the sample ID for mmap events. Typically stashed when
468 struct perf_sample *sample,
477 struct perf_sample *sample,
519 tool__inject_build_id(tool, sample, machine, evsel,
520 /*misc=*/sample->cpumode,
529 * for the sample id header type.
537 err = perf_event_process(tool, event, sample, machine);
553 !tool__inject_mmap2_build_id(tool, sample, machine, evsel,
554 sample->cpumode | PERF_RECORD_MISC_MMAP_BUILD_ID,
568 return perf_event__repipe(tool, event, sample, machine);
573 struct perf_sample *sample,
577 tool, event, sample, machine,
587 struct perf_sample *sample,
602 tool, event, sample, machine,
612 struct perf_sample *sample,
617 err = perf_event__process_fork(tool, event, sample, machine);
618 perf_event__repipe(tool, event, sample, machine);
625 struct perf_sample *sample,
630 err = perf_event__process_comm(tool, event, sample, machine);
631 perf_event__repipe(tool, event, sample, machine);
638 struct perf_sample *sample,
641 int err = perf_event__process_namespaces(tool, event, sample, machine);
643 perf_event__repipe(tool, event, sample, machine);
650 struct perf_sample *sample,
655 err = perf_event__process_exit(tool, event, sample, machine);
656 perf_event__repipe(tool, event, sample, machine);
758 struct perf_sample *sample,
782 err = perf_event__synthesize_build_id(tool, sample, machine,
795 struct perf_sample *sample,
818 err = perf_event__synthesize_mmap2_build_id(tool, sample, machine,
835 struct perf_sample *sample,
841 u16 misc = sample->cpumode;
866 tool__inject_build_id(tool, sample, machine,
877 perf_event__synthesize_mmap2_build_id(tool, sample, machine,
881 sample->pid, sample->tid,
897 struct perf_sample *sample;
907 return mark_dso_hit(args->inject, args->tool, args->sample, args->machine,
912 struct perf_sample *sample,
923 * Use the parsed sample data of the sample event, which will
926 .sample = sample,
932 thread = machine__findnew_thread(machine, sample->pid, sample->tid);
939 if (thread__find_map(thread, sample->cpumode, sample->ip, &al)) {
940 mark_dso_hit(inject, tool, sample, machine, args.mmap_evsel, al.map,
944 sample__for_each_callchain_node(thread, evsel, sample, PERF_MAX_STACK_DEPTH,
949 perf_event__repipe(tool, event, sample, machine);
956 struct perf_sample *sample,
964 if (sample->tid == ent->tid) {
976 struct perf_sample *sample,
983 perf_inject__sched_process_exit(tool, event, sample, evsel, machine);
992 ent->tid = sample->tid;
1001 struct perf_sample *sample,
1009 u32 pid = evsel__intval(evsel, sample, "pid");
1021 sample_sw.period = sample->period;
1022 sample_sw.time = sample->time;
1046 struct perf_sample *sample __maybe_unused,
1211 struct perf_sample *sample __maybe_unused,
1340 struct perf_sample *sample __maybe_unused,
1400 struct perf_sample *sample __maybe_unused,
1451 * Initial events have zero'd ID samples. Get default ID sample size
1455 /* And default ID for adding back a host-compatible ID sample */
1458 pr_err("Guest data has no sample IDs");
1596 gs->ev.sample.time = 0;
1603 ret = evlist__parse_sample(gs->session->evlist, gs->ev.event, &gs->ev.sample);
1614 guest_session__convert_time(gs, gs->ev.sample.time, &gs->ev.sample.time);
1620 const struct perf_sample *sample)
1626 evsel = evlist__id2evsel(evlist, sample->id);
1630 pr_err("No evsel for id %"PRIu64"\n", sample->id);
1635 ret = perf_event__synthesize_id_sample(array, evsel->core.attr.sample_type, sample);
1640 pr_err("Bad id sample size %d\n", ret);
1658 struct perf_sample *sample;
1673 sample = &gs->ev.sample;
1678 if (sample->time > timestamp)
1690 id = sample->id;
1710 /* Remove guest id sample */
1726 sample->id = guest_id->host_id;
1727 sample->stream_id = guest_id->host_id;
1729 if (sample->cpu != (u32)-1) {
1730 if (sample->cpu >= gs->vcpu_cnt) {
1732 sample->cpu);
1736 sample->cpu = gs->vcpu[sample->cpu].cpu;
1739 /* New id sample with new ID and CPU */
1740 ret = evlist__append_id_sample(inject->session->evlist, ev, sample);
1764 struct perf_sample *sample,
1770 ret = guest_session__inject_events(&inject->guest_session, sample->time);
1774 return perf_event__repipe(tool, event, sample, machine);
1797 * Allocate new (unused) host sample IDs and map them to the guest IDs.
1855 struct perf_sample *sample,
1873 if (sample->cpu == (u32)-1) {
1883 gs->vcpu[vcpu].cpu = sample->cpu;
1885 return host__repipe(tool, event, sample, machine);
1909 struct perf_sample *sample __maybe_unused,
2190 inject->tool.sample = perf_event__inject_buildid;
2253 * Once the host session has initialized, set up sample ID
2495 inject.tool.sample = perf_event__repipe_sample;