Home
last modified time | relevance | path

Searched refs:callchain (Results 1 – 25 of 67) sorted by relevance

123

/linux/kernel/bpf/
H A Dliveness.c85 struct callchain { struct
109 struct callchain callchain; member
140 struct callchain *callchain, u32 frameno) in compute_callchain() argument
145 memset(callchain, 0, sizeof(*callchain)); in compute_callchain()
147 callchain->sp_starts[i] = subprog_info[st->frame[i]->subprogno].start; in compute_callchain()
149 callchain->callsites[i] = st->frame[i + 1]->callsite; in compute_callchain()
151 callchain->curframe = frameno; in compute_callchain()
152 callchain->callsites[callchain->curframe] = callchain->sp_starts[callchain->curframe]; in compute_callchain()
155 static u32 hash_callchain(struct callchain *callchain) in hash_callchain() argument
157 return jhash2(callchain->callsites, callchain->curframe, 0); in hash_callchain()
[all …]
/linux/tools/perf/scripts/python/
H A Dnetdev-times.py232 def irq__softirq_entry(name, context, cpu, sec, nsec, pid, comm, callchain, vec): argument
238 def irq__softirq_exit(name, context, cpu, sec, nsec, pid, comm, callchain, vec): argument
244 def irq__softirq_raise(name, context, cpu, sec, nsec, pid, comm, callchain, vec): argument
251 callchain, irq, irq_name): argument
256 def irq__irq_handler_exit(name, context, cpu, sec, nsec, pid, comm, callchain, irq, ret): argument
260 def napi__napi_poll(name, context, cpu, sec, nsec, pid, comm, callchain, napi, argument
266 def net__netif_receive_skb(name, context, cpu, sec, nsec, pid, comm, callchain, skbaddr, argument
272 def net__netif_rx(name, context, cpu, sec, nsec, pid, comm, callchain, skbaddr, argument
278 def net__net_dev_queue(name, context, cpu, sec, nsec, pid, comm, callchain, argument
284 def net__net_dev_xmit(name, context, cpu, sec, nsec, pid, comm, callchain, argument
[all …]
H A Dfutex-contention.py29 def syscalls__sys_enter_futex(event, ctxt, cpu, s, ns, tid, comm, callchain, argument
40 def syscalls__sys_exit_futex(event, ctxt, cpu, s, ns, tid, comm, callchain, argument
H A Dpowerpc-hcalls.py173 def powerpc__hcall_exit(name, context, cpu, sec, nsec, pid, comm, callchain, argument
198 callchain, opcode): argument
H A Dnet_dropmonitor.py72 def skb__kfree_skb(name, context, cpu, sec, nsec, pid, comm, callchain, argument
/linux/tools/perf/tests/
H A Dsample-parsing.c102 COMP(callchain->nr); in samples_same()
103 for (i = 0; i < s1->callchain->nr; i++) in samples_same()
104 COMP(callchain->ips[i]); in samples_same()
219 struct ip_callchain callchain; in do_test() member
221 } callchain = { in do_test() local
261 .callchain = &callchain.callchain, in do_test()
H A Dhists_cumulate.c104 sample.callchain = (struct ip_callchain *)fake_callchains[i]; in add_hist_entries()
170 #define DEPTH(he) (he->callchain->max_depth)
235 root = &he->callchain->node.rb_root; in do_test()
/linux/tools/perf/util/
H A Dcallchain.c1129 if (sample->callchain == NULL && !symbol_conf.show_branchflag_count) in sample__resolve_callchain()
1142 if ((!symbol_conf.use_callchain || sample->callchain == NULL) && in hist_entry__append_callchain()
1145 return callchain_append(he->callchain, get_tls_callchain_cursor(), sample->period); in hist_entry__append_callchain()
1853 u64 nr_orig = sample_orig->callchain->nr - 1; in sample__merge_deferred_callchain()
1854 u64 nr_deferred = sample_callchain->callchain->nr; in sample__merge_deferred_callchain()
1855 struct ip_callchain *callchain; in sample__merge_deferred_callchain() local
1857 if (sample_orig->callchain->nr < 2) { in sample__merge_deferred_callchain()
1862 callchain = calloc(1 + nr_orig + nr_deferred, sizeof(u64)); in sample__merge_deferred_callchain()
1863 if (callchain == NULL) { in sample__merge_deferred_callchain()
1868 callchain->nr = nr_orig + nr_deferred; in sample__merge_deferred_callchain()
[all …]
H A Drecord.c95 void evlist__config(struct evlist *evlist, struct record_opts *opts, struct callchain_param *callchain) in evlist__config() argument
108 evsel__config(evsel, opts, callchain); in evlist__config()
H A Ddata-convert-json.c203 if (sample->callchain) { in process_sample_event()
208 for (i = 0; i < sample->callchain->nr; ++i) { in process_sample_event()
209 u64 ip = sample->callchain->ips[i]; in process_sample_event()
H A Darm64-frame-pointer-unwind-support.c56 regs->cache_regs[PERF_REG_ARM64_PC] = sample->callchain->ips[usr_idx+1]; in get_leaf_frame_caller_aarch64()
H A Devsel.c1494 struct callchain_param *callchain) in evsel__config() argument
1578 if (callchain && callchain->enabled && !evsel->no_aux_samples) in evsel__config()
1579 evsel__config_callchain(evsel, opts, callchain); in evsel__config()
1635 attr->defer_output = track && callchain && callchain->defer; in evsel__config()
3193 data->callchain = (struct ip_callchain *)array++; in __set_offcpu_sample()
3194 OVERFLOW_CHECK(array, data->callchain->nr * sizeof(u64), max_size); in __set_offcpu_sample()
3195 data->ip = data->callchain->ips[1]; in __set_offcpu_sample()
3196 array += data->callchain->nr; in __set_offcpu_sample()
3232 data->callchain = (struct ip_callchain *)&event->callchain_deferred.nr; in evsel__parse_sample()
3233 if (data->callchain->nr > max_callchain_nr) in evsel__parse_sample()
[all …]
H A Ddlfilter.c554 if (sample->callchain) { in dlfilter__do_filter_event()
555 d_sample.raw_callchain_nr = sample->callchain->nr; in dlfilter__do_filter_event()
556 d_sample.raw_callchain = (__u64 *)sample->callchain->ips; in dlfilter__do_filter_event()
H A Dsample.h117 struct ip_callchain *callchain; member
H A Dsession.c815 struct ip_callchain *callchain = sample->callchain; in callchain__lbr_callstack_printf() local
818 u64 kernel_callchain_nr = callchain->nr; in callchain__lbr_callstack_printf()
822 if (callchain->ips[i] == PERF_CONTEXT_USER) in callchain__lbr_callstack_printf()
851 i, callchain->ips[i]); in callchain__lbr_callstack_printf()
887 struct ip_callchain *callchain = sample->callchain; in callchain__printf() local
892 printf("... FP chain: nr:%" PRIu64 "\n", callchain->nr); in callchain__printf()
894 for (i = 0; i < callchain->nr; i++) in callchain__printf()
896 i, callchain->ips[i], in callchain__printf()
897 callchain_context_str(callchain->ips[i])); in callchain__printf()
1389 free(orig_sample.callchain); in evlist__deliver_deferred_callchain()
/linux/kernel/events/
H A DMakefile2 obj-y := core.o ring_buffer.o callchain.o
/linux/tools/perf/Documentation/
H A Dperf-inject.txt52 tasks slept. sched_switch contains a callchain where a task slept and
112 --convert-callchain::
115 inlined callchain entries.
H A Dperf-report.txt239 function and searched through the callchain, thus it requires callchain
308 Accumulate callchain of children to parent entry so that then can
315 Set the stack depth limit when parsing the callchain, anything
318 workloads that can have a very long callchain stack.
319 Note that when using the --itrace option the synthesized callchain size
320 will override this value if the synthesized callchain size is bigger.
419 - iterations: display the average number of iterations in callchain list.
459 of callchains. However the default value of callchain threshold is
651 include::callchain-overhead-calculation.txt[]
/linux/tools/perf/arch/powerpc/util/
H A DBuild7 perf-util-$(CONFIG_LIBDW) += skip-callchain-idx.o
/linux/tools/perf/util/scripting-engines/
H A Dtrace-event-python.c403 if (!symbol_conf.use_callchain || !sample->callchain) in python_process_callchain()
837 PyObject *callchain) in get_perf_sample_dict() argument
891 pydict_set_item_string_decref(dict, "callchain", callchain); in get_perf_sample_dict()
944 PyObject *handler, *context, *t, *obj = NULL, *callchain; in python_process_tracepoint() local
998 callchain = python_process_callchain(sample, evsel, al); in python_process_tracepoint()
1000 Py_INCREF(callchain); in python_process_tracepoint()
1008 PyTuple_SetItem(t, n++, callchain); in python_process_tracepoint()
1015 pydict_set_item_string_decref(dict, "common_callchain", callchain); in python_process_tracepoint()
1055 callchain); in python_process_tracepoint()
1058 Py_DECREF(callchain); in python_process_tracepoint()
[all …]
/linux/tools/perf/tests/shell/
H A Dinject-callchain.sh32 perf inject -i "${TESTDATA}" --convert-callchain -o "${TESTDATA}.new"
/linux/arch/powerpc/perf/
H A DMakefile3 obj-y += callchain.o callchain_$(BITS).o perf_regs.o
/linux/tools/perf/
H A Dbuiltin-top.c1079 static int callchain_param__setup_sample_type(struct callchain_param *callchain) in callchain_param__setup_sample_type() argument
1081 if (callchain->mode != CHAIN_NONE) { in callchain_param__setup_sample_type()
1082 if (callchain_register_param(callchain) < 0) { in callchain_param__setup_sample_type()
1399 struct callchain_param *callchain = opt->value; in parse_callchain_opt() local
1401 callchain->enabled = !unset; in parse_callchain_opt()
1402 callchain->record_mode = CALLCHAIN_FP; in parse_callchain_opt()
1409 callchain->record_mode = CALLCHAIN_NONE; in parse_callchain_opt()
H A Dbuiltin-record.c2979 static void callchain_debug(struct callchain_param *callchain) in callchain_debug() argument
2983 pr_debug("callchain: type %s\n", str[callchain->record_mode]); in callchain_debug()
2985 if (callchain->record_mode == CALLCHAIN_DWARF) in callchain_debug()
2987 callchain->dump_size); in callchain_debug()
2991 struct callchain_param *callchain, in record_opts__parse_callchain() argument
2995 callchain->enabled = !unset; in record_opts__parse_callchain()
2999 callchain->record_mode = CALLCHAIN_NONE; in record_opts__parse_callchain()
3004 ret = parse_callchain_record_opt(arg, callchain); in record_opts__parse_callchain()
3007 if (callchain->record_mode == CALLCHAIN_DWARF && in record_opts__parse_callchain()
3010 callchain_debug(callchain); in record_opts__parse_callchain()
[all …]
/linux/tools/perf/scripts/python/Perf-Trace-Util/lib/Perf/Trace/
H A DCore.py110 self.callchain = common_callchain

123