Lines Matching defs:sample

451 		pr_err("Display of symbols requested but neither sample IP nor "
452 "sample address\navailable. Hence, no addresses to convert "
467 pr_err("Display of source line number requested but sample IP is not\n"
677 static int perf_sample__fprintf_iregs(struct perf_sample *sample,
680 return perf_sample__fprintf_regs(&sample->intr_regs,
684 static int perf_sample__fprintf_uregs(struct perf_sample *sample,
687 return perf_sample__fprintf_regs(&sample->user_regs,
692 struct perf_sample *sample,
715 printed += fprintf(fp, "%5d/%-5d ", sample->pid, sample->tid);
717 printed += fprintf(fp, "%5d ", sample->pid);
719 printed += fprintf(fp, "%5d ", sample->tid);
723 printed += fprintf(fp, "%3d ", sample->cpu);
725 printed += fprintf(fp, "[%03d] ", sample->cpu);
732 (sample->misc & PERF_RECORD_MISC_##m) == PERF_RECORD_MISC_##m
759 if (sample->misc & PERF_RECORD_MISC_SWITCH_OUT_PREEMPT)
773 tod_scnprintf(script, tstr, sizeof(tstr), sample->time);
778 u64 t = sample->time;
781 initial_time = sample->time;
782 t = sample->time - initial_time;
785 t = sample->time - previous_time;
789 previous_time = sample->time;
816 static int perf_sample__fprintf_brstack(struct perf_sample *sample,
820 struct branch_stack *br = sample->branch_stack;
821 struct branch_entry *entries = perf_sample__branch_entries(sample);
836 thread__find_map_fb(thread, sample->cpumode, from, &alf);
837 thread__find_map_fb(thread, sample->cpumode, to, &alt);
864 static int perf_sample__fprintf_brstacksym(struct perf_sample *sample,
868 struct branch_stack *br = sample->branch_stack;
869 struct branch_entry *entries = perf_sample__branch_entries(sample);
884 thread__find_symbol_fb(thread, sample->cpumode, from, &alf);
885 thread__find_symbol_fb(thread, sample->cpumode, to, &alt);
910 static int perf_sample__fprintf_brstackoff(struct perf_sample *sample,
914 struct branch_stack *br = sample->branch_stack;
915 struct branch_entry *entries = perf_sample__branch_entries(sample);
930 if (thread__find_map_fb(thread, sample->cpumode, from, &alf) &&
934 if (thread__find_map_fb(thread, sample->cpumode, to, &alt) &&
1136 static int perf_sample__fprintf_brstackinsn(struct perf_sample *sample,
1141 struct branch_stack *br = sample->branch_stack;
1142 struct branch_entry *entries = perf_sample__branch_entries(sample);
1158 x.cpu = sample->cpu;
1224 if (entries[0].from == sample->ip)
1230 * Print final block upto sample
1234 * between final branch and sample. When this happens just
1238 end = sample->ip;
1247 len = grab_bb(buffer, sample->ip, sample->ip,
1251 printed += fprintf(fp, "\t%016" PRIx64 "\t%s\n", sample->ip,
1252 dump_insn(&x, sample->ip, buffer, len, NULL));
1254 print_srccode(thread, x.cpumode, sample->ip);
1263 if (arch_is_branch(buffer + off, len - off, x.is64bit) && start + off != sample->ip) {
1267 printed += fprintf(fp, "\t... not reaching sample ...\n");
1277 static int perf_sample__fprintf_addr(struct perf_sample *sample,
1282 int printed = fprintf(fp, "%16" PRIx64, sample->addr);
1287 thread__resolve(thread, &al, sample);
1306 static const char *resolve_branch_sym(struct perf_sample *sample,
1316 if (sample->flags & (PERF_IP_FLAG_CALL | PERF_IP_FLAG_TRACE_BEGIN)) {
1318 thread__resolve(thread, &addr_al, sample);
1322 *ip = sample->addr;
1324 *ip = sample->addr;
1326 } else if (sample->flags & (PERF_IP_FLAG_RETURN | PERF_IP_FLAG_TRACE_END)) {
1330 *ip = sample->ip;
1335 static int perf_sample__fprintf_callindent(struct perf_sample *sample,
1341 size_t depth = thread_stack__depth(thread, sample->cpu);
1352 if (thread->ts && sample->flags & PERF_IP_FLAG_RETURN)
1355 name = resolve_branch_sym(sample, evsel, thread, al, &ip);
1384 __weak void arch_fetch_insn(struct perf_sample *sample __maybe_unused,
1390 static int perf_sample__fprintf_insn(struct perf_sample *sample,
1397 if (sample->insn_len == 0 && native_arch)
1398 arch_fetch_insn(sample, thread, machine);
1401 printed += fprintf(fp, " ilen: %d", sample->insn_len);
1402 if (PRINT_FIELD(INSN) && sample->insn_len) {
1406 for (i = 0; i < sample->insn_len; i++)
1407 printed += fprintf(fp, " %02x", (unsigned char)sample->insn[i]);
1410 printed += perf_sample__fprintf_brstackinsn(sample, thread, attr, machine, fp);
1415 static int perf_sample__fprintf_ipc(struct perf_sample *sample,
1420 if (!PRINT_FIELD(IPC) || !sample->cyc_cnt || !sample->insn_cnt)
1423 ipc = (sample->insn_cnt * 100) / sample->cyc_cnt;
1426 ipc / 100, ipc % 100, sample->insn_cnt, sample->cyc_cnt);
1429 static int perf_sample__fprintf_bts(struct perf_sample *sample,
1441 printed += perf_sample__fprintf_callindent(sample, evsel, thread, al, fp);
1448 if (symbol_conf.use_callchain && sample->callchain &&
1450 sample, NULL, NULL, scripting_max_stack) == 0)
1462 printed += sample__fprintf_sym(sample, al, 0, print_opts, cursor,
1471 printed += perf_sample__fprintf_addr(sample, thread, attr, fp);
1474 printed += perf_sample__fprintf_ipc(sample, attr, fp);
1479 printed += perf_sample__fprintf_insn(sample, attr, thread, machine, fp);
1629 static int perf_sample__fprintf_bpf_output(struct perf_sample *sample, FILE *fp)
1631 unsigned int nr_bytes = sample->raw_size;
1633 int printed = binary__fprintf(sample->raw_data, nr_bytes, 8,
1637 printed += fprintf(fp, "%17s \"%s\"\n", "BPF string:", (char *)(sample->raw_data));
1655 static int perf_sample__fprintf_synth_ptwrite(struct perf_sample *sample, FILE *fp)
1657 struct perf_synth_intel_ptwrite *data = perf_sample__synth_ptr(sample);
1660 if (perf_sample__bad_synth_size(sample, *data))
1668 static int perf_sample__fprintf_synth_mwait(struct perf_sample *sample, FILE *fp)
1670 struct perf_synth_intel_mwait *data = perf_sample__synth_ptr(sample);
1673 if (perf_sample__bad_synth_size(sample, *data))
1681 static int perf_sample__fprintf_synth_pwre(struct perf_sample *sample, FILE *fp)
1683 struct perf_synth_intel_pwre *data = perf_sample__synth_ptr(sample);
1686 if (perf_sample__bad_synth_size(sample, *data))
1694 static int perf_sample__fprintf_synth_exstop(struct perf_sample *sample, FILE *fp)
1696 struct perf_synth_intel_exstop *data = perf_sample__synth_ptr(sample);
1699 if (perf_sample__bad_synth_size(sample, *data))
1706 static int perf_sample__fprintf_synth_pwrx(struct perf_sample *sample, FILE *fp)
1708 struct perf_synth_intel_pwrx *data = perf_sample__synth_ptr(sample);
1711 if (perf_sample__bad_synth_size(sample, *data))
1720 static int perf_sample__fprintf_synth_cbr(struct perf_sample *sample, FILE *fp)
1722 struct perf_synth_intel_cbr *data = perf_sample__synth_ptr(sample);
1726 if (perf_sample__bad_synth_size(sample, *data))
1738 static int perf_sample__fprintf_synth(struct perf_sample *sample,
1743 return perf_sample__fprintf_synth_ptwrite(sample, fp);
1745 return perf_sample__fprintf_synth_mwait(sample, fp);
1747 return perf_sample__fprintf_synth_pwre(sample, fp);
1749 return perf_sample__fprintf_synth_exstop(sample, fp);
1751 return perf_sample__fprintf_synth_pwrx(sample, fp);
1753 return perf_sample__fprintf_synth_cbr(sample, fp);
1793 struct perf_sample *sample;
1808 perf_sample__fprintf_start(NULL, mctx->sample, mctx->thread, mctx->evsel,
1823 perf_sample__fprintf_start(NULL, mctx->sample, mctx->thread, mctx->evsel,
1831 struct perf_sample *sample,
1838 .sample = sample,
1852 val = sample->period * evsel->scale;
1855 sample->cpu,
1862 sample->cpu,
1871 static bool show_event(struct perf_sample *sample,
1876 int depth = thread_stack__depth(thread, sample->cpu);
1890 const char *name = resolve_branch_sym(sample, evsel, thread, al,
1913 struct perf_sample *sample, struct evsel *evsel,
1926 if (!show_event(sample, evsel, thread, al))
1934 perf_sample__fprintf_start(script, sample, thread, evsel,
1938 fprintf(fp, "%10" PRIu64 " ", sample->period);
1950 perf_sample__fprintf_flags(sample->flags, fp);
1953 perf_sample__fprintf_bts(sample, evsel, thread, al, machine, fp);
1957 if (PRINT_FIELD(TRACE) && sample->raw_data) {
1958 event_format__fprintf(evsel->tp_format, sample->cpu,
1959 sample->raw_data, sample->raw_size, fp);
1963 perf_sample__fprintf_synth(sample, evsel, fp);
1966 perf_sample__fprintf_addr(sample, thread, attr, fp);
1969 data_src__fprintf(sample->data_src, fp);
1972 fprintf(fp, "%16" PRIu64, sample->weight);
1980 if (symbol_conf.use_callchain && sample->callchain &&
1982 sample, NULL, NULL, scripting_max_stack) == 0)
1986 sample__fprintf_sym(sample, al, 0, output[type].print_ip_opts, cursor,
1991 perf_sample__fprintf_iregs(sample, attr, fp);
1994 perf_sample__fprintf_uregs(sample, attr, fp);
1997 perf_sample__fprintf_brstack(sample, thread, attr, fp);
1999 perf_sample__fprintf_brstacksym(sample, thread, attr, fp);
2001 perf_sample__fprintf_brstackoff(sample, thread, attr, fp);
2004 perf_sample__fprintf_bpf_output(sample, fp);
2005 perf_sample__fprintf_insn(sample, attr, thread, machine, fp);
2008 fprintf(fp, "%16" PRIx64, sample->phys_addr);
2010 perf_sample__fprintf_ipc(sample, attr, fp);
2021 perf_sample__fprint_metric(script, thread, evsel, sample, fp);
2095 static bool filter_cpu(struct perf_sample *sample)
2097 if (cpu_list && sample->cpu != (u32)-1)
2098 return !test_bit(sample->cpu, cpu_bitmap);
2104 struct perf_sample *sample,
2112 sample->time)) {
2117 if (sample->time < last_timestamp) {
2120 sample->time);
2123 last_timestamp = sample->time;
2127 if (machine__resolve(machine, &al, sample) < 0) {
2136 if (filter_cpu(sample))
2140 scripting_ops->process_event(event, sample, evsel, &al);
2142 process_event(scr, sample, evsel, &al, machine);
2220 struct perf_sample *sample,
2226 struct evsel *evsel = perf_evlist__id2evsel(session->evlist, sample->id);
2230 sample->cpu = 0;
2231 sample->time = timestamp;
2232 sample->pid = pid;
2233 sample->tid = tid;
2236 if (filter_cpu(sample))
2243 perf_sample__fprintf_start(script, sample, thread, evsel,
2255 struct perf_sample *sample, struct machine *machine,
2258 return print_event_with_time(tool, event, sample, machine, pid, tid, 0);
2263 struct perf_sample *sample,
2266 if (perf_event__process_comm(tool, event, sample, machine) < 0)
2269 return print_event(tool, event, sample, machine, event->comm.pid,
2275 struct perf_sample *sample,
2278 if (perf_event__process_namespaces(tool, event, sample, machine) < 0)
2281 return print_event(tool, event, sample, machine, event->namespaces.pid,
2287 struct perf_sample *sample,
2290 if (perf_event__process_cgroup(tool, event, sample, machine) < 0)
2293 return print_event(tool, event, sample, machine, sample->pid,
2294 sample->tid);
2299 struct perf_sample *sample,
2302 if (perf_event__process_fork(tool, event, sample, machine) < 0)
2305 return print_event_with_time(tool, event, sample, machine,
2311 struct perf_sample *sample,
2315 if (print_event_with_time(tool, event, sample, machine, event->fork.pid,
2319 return perf_event__process_exit(tool, event, sample, machine);
2324 struct perf_sample *sample,
2327 if (perf_event__process_mmap(tool, event, sample, machine) < 0)
2330 return print_event(tool, event, sample, machine, event->mmap.pid,
2336 struct perf_sample *sample,
2339 if (perf_event__process_mmap2(tool, event, sample, machine) < 0)
2342 return print_event(tool, event, sample, machine, event->mmap2.pid,
2348 struct perf_sample *sample,
2353 if (perf_event__process_switch(tool, event, sample, machine) < 0)
2356 if (scripting_ops && scripting_ops->process_switch && !filter_cpu(sample))
2357 scripting_ops->process_switch(event, sample, machine);
2362 return print_event(tool, event, sample, machine, sample->pid,
2363 sample->tid);
2369 struct perf_sample *sample,
2372 return print_event(tool, event, sample, machine, sample->pid,
2373 sample->tid);
2389 struct perf_sample *sample,
2392 if (machine__process_ksymbol(machine, event, sample) < 0)
2395 return print_event(tool, event, sample, machine, sample->pid,
2396 sample->tid);
2401 struct perf_sample *sample,
2404 if (perf_event__process_text_poke(tool, event, sample, machine) < 0)
2407 return print_event(tool, event, sample, machine, sample->pid,
2408 sample->tid);
3449 .sample = process_sample_event,
3622 * Enable guest sample processing.