Lines Matching full:sample

279 				struct perf_sample *sample)  in arm_spe_prep_sample()  argument
284 sample->time = tsc_to_perf_time(record->timestamp, &spe->tc); in arm_spe_prep_sample()
286 sample->ip = record->from_ip; in arm_spe_prep_sample()
287 sample->cpumode = arm_spe_cpumode(spe, sample->ip); in arm_spe_prep_sample()
288 sample->pid = speq->pid; in arm_spe_prep_sample()
289 sample->tid = speq->tid; in arm_spe_prep_sample()
290 sample->period = 1; in arm_spe_prep_sample()
291 sample->cpu = speq->cpu; in arm_spe_prep_sample()
293 event->sample.header.type = PERF_RECORD_SAMPLE; in arm_spe_prep_sample()
294 event->sample.header.misc = sample->cpumode; in arm_spe_prep_sample()
295 event->sample.header.size = sizeof(struct perf_event_header); in arm_spe_prep_sample()
298 static int arm_spe__inject_event(union perf_event *event, struct perf_sample *sample, u64 type) in arm_spe__inject_event() argument
300 event->header.size = perf_event__sample_event_size(sample, type, 0); in arm_spe__inject_event()
301 return perf_event__synthesize_sample(event, type, 0, sample); in arm_spe__inject_event()
308 struct perf_sample *sample) in arm_spe_deliver_synth_event() argument
313 ret = arm_spe__inject_event(event, sample, spe->sample_type); in arm_spe_deliver_synth_event()
318 ret = perf_session__deliver_synth_event(spe->session, event, sample); in arm_spe_deliver_synth_event()
331 struct perf_sample sample = { .ip = 0, }; in arm_spe__synth_mem_sample() local
333 arm_spe_prep_sample(spe, speq, event, &sample); in arm_spe__synth_mem_sample()
335 sample.id = spe_events_id; in arm_spe__synth_mem_sample()
336 sample.stream_id = spe_events_id; in arm_spe__synth_mem_sample()
337 sample.addr = record->virt_addr; in arm_spe__synth_mem_sample()
338 sample.phys_addr = record->phys_addr; in arm_spe__synth_mem_sample()
339 sample.data_src = data_src; in arm_spe__synth_mem_sample()
340 sample.weight = record->latency; in arm_spe__synth_mem_sample()
342 return arm_spe_deliver_synth_event(spe, speq, event, &sample); in arm_spe__synth_mem_sample()
351 struct perf_sample sample = { .ip = 0, }; in arm_spe__synth_branch_sample() local
353 arm_spe_prep_sample(spe, speq, event, &sample); in arm_spe__synth_branch_sample()
355 sample.id = spe_events_id; in arm_spe__synth_branch_sample()
356 sample.stream_id = spe_events_id; in arm_spe__synth_branch_sample()
357 sample.addr = record->to_ip; in arm_spe__synth_branch_sample()
358 sample.weight = record->latency; in arm_spe__synth_branch_sample()
360 return arm_spe_deliver_synth_event(spe, speq, event, &sample); in arm_spe__synth_branch_sample()
369 struct perf_sample sample = { .ip = 0, }; in arm_spe__synth_instruction_sample() local
379 arm_spe_prep_sample(spe, speq, event, &sample); in arm_spe__synth_instruction_sample()
381 sample.id = spe_events_id; in arm_spe__synth_instruction_sample()
382 sample.stream_id = spe_events_id; in arm_spe__synth_instruction_sample()
383 sample.addr = record->virt_addr; in arm_spe__synth_instruction_sample()
384 sample.phys_addr = record->phys_addr; in arm_spe__synth_instruction_sample()
385 sample.data_src = data_src; in arm_spe__synth_instruction_sample()
386 sample.period = spe->instructions_sample_period; in arm_spe__synth_instruction_sample()
387 sample.weight = record->latency; in arm_spe__synth_instruction_sample()
389 return arm_spe_deliver_synth_event(spe, speq, event, &sample); in arm_spe__synth_instruction_sample()
600 * skip to synthesize memory sample for this case. in arm_spe_sample()
629 * based the record to synthesize sample; but here the flow is in arm_spe_run_decoder()
636 * is left to generate sample until run to here, so it's correct in arm_spe_run_decoder()
637 * to synthesize sample for the left record. in arm_spe_run_decoder()
642 * synthesize sample until run to here at the next time; so this in arm_spe_run_decoder()
861 struct perf_sample *sample) in arm_spe_context_switch() argument
871 cpu = sample->cpu; in arm_spe_context_switch()
881 struct perf_sample *sample, in arm_spe_process_event() argument
897 if (sample->time && (sample->time != (u64) -1)) in arm_spe_process_event()
898 timestamp = perf_time_to_tsc(sample->time, &spe->tc); in arm_spe_process_event()
912 sample->time); in arm_spe_process_event()
922 err = arm_spe_context_switch(spe, event, sample); in arm_spe_process_event()
1063 struct perf_sample *sample __maybe_unused, in arm_spe_event_synth()
1252 pr_warning("Arm SPE has a hardware-based sample period.\n" in arm_spe_synth_events()