| /kernel/linux/linux-6.6/tools/perf/Documentation/ |
| D | perf-probe.txt | 1 perf-probe(1) 6 perf-probe - Define new dynamic tracepoints 11 'perf probe' [options] --add='PROBE' [...] 13 'perf probe' [options] PROBE 15 'perf probe' [options] --del='[GROUP:]EVENT' [...] 17 'perf probe' --list[=[GROUP:]EVENT] 19 'perf probe' [options] --line='LINE' 21 'perf probe' [options] --vars='PROBEPOINT' 23 'perf probe' [options] --funcs 25 'perf probe' [options] --definition='PROBE' [...] [all …]
|
| /kernel/linux/linux-5.10/tools/perf/Documentation/ |
| D | perf-probe.txt | 1 perf-probe(1) 6 perf-probe - Define new dynamic tracepoints 11 'perf probe' [options] --add='PROBE' [...] 13 'perf probe' [options] PROBE 15 'perf probe' [options] --del='[GROUP:]EVENT' [...] 17 'perf probe' --list[=[GROUP:]EVENT] 19 'perf probe' [options] --line='LINE' 21 'perf probe' [options] --vars='PROBEPOINT' 23 'perf probe' [options] --funcs 25 'perf probe' [options] --definition='PROBE' [...] [all …]
|
| /kernel/linux/linux-6.6/Documentation/trace/ |
| D | kprobes.rst | 16 6. Probe Overhead 38 any instruction in the kernel. A return probe fires when a specified 45 the probe is to be inserted and what handler is to be called when 46 the probe is hit. 87 Since kprobes can probe into a running kernel code, it can change the 107 How Does a Return Probe Work? 112 probe is hit, Kprobes saves a copy of the return address, and replaces 118 passes to the trampoline and that probe is hit. Kprobes' trampoline 138 zero when the return probe is registered, and is incremented every 140 object available for establishing the return probe. [all …]
|
| D | kprobetrace.rst | 10 this is based on kprobes (kprobe and kretprobe). So it can probe wherever 11 kprobes can probe (this means, all functions except those with 19 current_tracer. Instead of that, add probe points via 31 p[:[GRP/][EVENT]] [MOD:]SYM[+offs]|MEMADDR [FETCHARGS] : Set a probe 32 r[MAXACTIVE][:[GRP/][EVENT]] [MOD:]SYM[+0] [FETCHARGS] : Set a return probe 33 p[:[GRP/][EVENT]] [MOD:]SYM[+0]%return [FETCHARGS] : Set a return probe 34 -:[GRP/][EVENT] : Clear a probe 40 SYM[+offs] : Symbol+offset where the probe is inserted. 42 MEMADDR : Address where the probe is inserted. 47 FETCHARGS : Arguments. Each probe can have up to 128 args. [all …]
|
| D | tracepoints.rst | 10 connect probe functions to them and provides some examples of probe 16 A tracepoint placed in code provides a hook to call a function (probe) 17 that you can provide at runtime. A tracepoint can be "on" (a probe is 18 connected to it) or "off" (no probe is attached). When a tracepoint is 93 Connecting a function (probe) to a tracepoint is done by providing a 94 probe (function to call) for the specific tracepoint through 95 register_trace_subsys_eventname(). Removing a probe is done through 96 unregister_trace_subsys_eventname(); it will remove the probe. 100 the probe. This, and the fact that preemption is disabled around the 101 probe call, make sure that probe removal and module unload are safe. [all …]
|
| /kernel/linux/linux-5.10/Documentation/trace/ |
| D | kprobes.rst | 16 6. Probe Overhead 38 any instruction in the kernel. A return probe fires when a specified 45 the probe is to be inserted and what handler is to be called when 46 the probe is hit. 87 Since kprobes can probe into a running kernel code, it can change the 107 How Does a Return Probe Work? 112 probe is hit, Kprobes saves a copy of the return address, and replaces 118 passes to the trampoline and that probe is hit. Kprobes' trampoline 139 zero when the return probe is registered, and is incremented every 141 object available for establishing the return probe. [all …]
|
| D | kprobetrace.rst | 10 this is based on kprobes (kprobe and kretprobe). So it can probe wherever 11 kprobes can probe (this means, all functions except those with 19 current_tracer. Instead of that, add probe points via 31 p[:[GRP/]EVENT] [MOD:]SYM[+offs]|MEMADDR [FETCHARGS] : Set a probe 32 r[MAXACTIVE][:[GRP/]EVENT] [MOD:]SYM[+0] [FETCHARGS] : Set a return probe 33 p:[GRP/]EVENT] [MOD:]SYM[+0]%return [FETCHARGS] : Set a return probe 34 -:[GRP/]EVENT : Clear a probe 40 SYM[+offs] : Symbol+offset where the probe is inserted. 42 MEMADDR : Address where the probe is inserted. 47 FETCHARGS : Arguments. Each probe can have up to 128 args. [all …]
|
| D | tracepoints.rst | 10 connect probe functions to them and provides some examples of probe 16 A tracepoint placed in code provides a hook to call a function (probe) 17 that you can provide at runtime. A tracepoint can be "on" (a probe is 18 connected to it) or "off" (no probe is attached). When a tracepoint is 93 Connecting a function (probe) to a tracepoint is done by providing a 94 probe (function to call) for the specific tracepoint through 95 register_trace_subsys_eventname(). Removing a probe is done through 96 unregister_trace_subsys_eventname(); it will remove the probe. 100 the probe. This, and the fact that preemption is disabled around the 101 probe call, make sure that probe removal and module unload are safe. [all …]
|
| /kernel/linux/linux-6.6/fs/afs/ |
| D | fs_probe.c | 19 * Start the probe polling timer. We have to supply it with an inc on the 43 bool responded = server->probe.responded; in afs_finished_fs_probe() 59 * Handle the completion of a probe. 72 * Handle inability to send a probe due to ENOMEM when trying to allocate a 87 server->probe.local_failure = true; in afs_fs_probe_not_done() 88 if (server->probe.error == 0) in afs_fs_probe_not_done() 89 server->probe.error = -ENOMEM; in afs_fs_probe_not_done() 115 server->probe.error = 0; in afs_fileserver_probe_result() 118 if (!server->probe.responded) { in afs_fileserver_probe_result() 119 server->probe.abort_code = call->abort_code; in afs_fileserver_probe_result() [all …]
|
| D | vl_probe.c | 20 if (!(server->probe.flags & AFS_VLSERVER_PROBE_RESPONDED)) { in afs_finished_vl_probe() 30 * Handle the completion of a probe RPC call. 63 server->probe.error = 0; in afs_vlserver_probe_result() 66 if (!(server->probe.flags & AFS_VLSERVER_PROBE_RESPONDED)) { in afs_vlserver_probe_result() 67 server->probe.abort_code = call->abort_code; in afs_vlserver_probe_result() 68 server->probe.error = ret; in afs_vlserver_probe_result() 76 server->probe.flags |= AFS_VLSERVER_PROBE_LOCAL_FAILURE; in afs_vlserver_probe_result() 77 if (server->probe.error == 0) in afs_vlserver_probe_result() 78 server->probe.error = ret; in afs_vlserver_probe_result() 93 if (!(server->probe.flags & AFS_VLSERVER_PROBE_RESPONDED) && in afs_vlserver_probe_result() [all …]
|
| /kernel/linux/linux-5.10/fs/afs/ |
| D | fs_probe.c | 18 * Start the probe polling timer. We have to supply it with an inc on the 42 bool responded = server->probe.responded; in afs_finished_fs_probe() 58 * Handle the completion of a probe. 71 * Handle inability to send a probe due to ENOMEM when trying to allocate a 86 server->probe.local_failure = true; in afs_fs_probe_not_done() 87 if (server->probe.error == 0) in afs_fs_probe_not_done() 88 server->probe.error = -ENOMEM; in afs_fs_probe_not_done() 114 server->probe.error = 0; in afs_fileserver_probe_result() 117 if (!server->probe.responded) { in afs_fileserver_probe_result() 118 server->probe.abort_code = call->abort_code; in afs_fileserver_probe_result() [all …]
|
| D | vl_probe.c | 20 if (!(server->probe.flags & AFS_VLSERVER_PROBE_RESPONDED)) { in afs_finished_vl_probe() 30 * Handle the completion of a probe RPC call. 63 server->probe.error = 0; in afs_vlserver_probe_result() 66 if (!(server->probe.flags & AFS_VLSERVER_PROBE_RESPONDED)) { in afs_vlserver_probe_result() 67 server->probe.abort_code = call->abort_code; in afs_vlserver_probe_result() 68 server->probe.error = ret; in afs_vlserver_probe_result() 76 server->probe.flags |= AFS_VLSERVER_PROBE_LOCAL_FAILURE; in afs_vlserver_probe_result() 77 if (server->probe.error == 0) in afs_vlserver_probe_result() 78 server->probe.error = ret; in afs_vlserver_probe_result() 93 if (!(server->probe.flags & AFS_VLSERVER_PROBE_RESPONDED) && in afs_vlserver_probe_result() [all …]
|
| /kernel/linux/linux-5.10/drivers/base/ |
| D | map.c | 20 struct probe { struct 21 struct probe *next; argument 33 struct module *module, kobj_probe_t *probe, in kobj_map() argument 39 struct probe *p; in kobj_map() 44 p = kmalloc_array(n, sizeof(struct probe), GFP_KERNEL); in kobj_map() 50 p->get = probe; in kobj_map() 58 struct probe **s = &domain->probes[index % 255]; in kobj_map() 73 struct probe *found = NULL; in kobj_unmap() 80 struct probe **s; in kobj_unmap() 82 struct probe *p = *s; in kobj_unmap() [all …]
|
| /kernel/linux/linux-6.6/include/linux/hck/ |
| D | lite_vendor_hooks.h | 48 #define REGISTER_HCK_LITE_HOOK(name, probe) \ argument 49 extern typeof(lvh_probe_##name) (probe); \ 51 if (register_lvh_##name(probe)) \ 55 #define REGISTER_HCK_LITE_DATA_HOOK(name, probe, data) \ argument 56 extern typeof(lvh_probe_data_##name) (probe); \ 58 if (register_lvh_data_##name(probe, data)) \ 81 __register_lvh_##name(void *probe, void *data, bool has_data) \ 89 if (funcs->func != probe || funcs->data != data) \ 100 funcs->func = probe; \ 103 mod = __module_address((uintptr_t)probe); \ [all …]
|
| /kernel/linux/linux-5.10/include/linux/hck/ |
| D | lite_vendor_hooks.h | 48 #define REGISTER_HCK_LITE_HOOK(name, probe) \ argument 49 extern typeof(lvh_probe_##name) (probe); \ 51 if (register_lvh_##name(probe)) \ 55 #define REGISTER_HCK_LITE_DATA_HOOK(name, probe, data) \ argument 56 extern typeof(lvh_probe_data_##name) (probe); \ 58 if (register_lvh_data_##name(probe, data)) \ 81 __register_lvh_##name(void *probe, void *data, bool has_data) \ 89 if (funcs->func != probe || funcs->data != data) \ 100 funcs->func = probe; \ 103 mod = __module_address((uintptr_t)probe); \ [all …]
|
| /kernel/linux/linux-6.6/drivers/base/ |
| D | map.c | 20 struct probe { struct 21 struct probe *next; argument 33 struct module *module, kobj_probe_t *probe, in kobj_map() argument 39 struct probe *p; in kobj_map() 44 p = kmalloc_array(n, sizeof(struct probe), GFP_KERNEL); in kobj_map() 50 p->get = probe; in kobj_map() 58 struct probe **s = &domain->probes[index % 255]; in kobj_map() 73 struct probe *found = NULL; in kobj_unmap() 80 struct probe **s; in kobj_unmap() 82 struct probe *p = *s; in kobj_unmap() [all …]
|
| /kernel/linux/linux-5.10/drivers/net/ethernet/sfc/ |
| D | ef100.c | 73 netif_dbg(efx, probe, efx->net_dev, in ef100_pci_parse_ef100_entry() 78 netif_err(efx, probe, efx->net_dev, in ef100_pci_parse_ef100_entry() 85 netif_err(efx, probe, efx->net_dev, in ef100_pci_parse_ef100_entry() 127 netif_err(efx, probe, efx->net_dev, in ef100_pci_parse_continue_entry() 137 netif_err(efx, probe, efx->net_dev, in ef100_pci_parse_continue_entry() 148 netif_err(efx, probe, efx->net_dev, in ef100_pci_parse_continue_entry() 166 netif_err(efx, probe, efx->net_dev, in ef100_pci_parse_continue_entry() 196 netif_dbg(efx, probe, efx->net_dev, in ef100_pci_walk_xilinx_table() 201 netif_err(efx, probe, efx->net_dev, in ef100_pci_walk_xilinx_table() 210 netif_err(efx, probe, efx->net_dev, in ef100_pci_walk_xilinx_table() [all …]
|
| /kernel/linux/linux-6.6/drivers/net/ethernet/sfc/ |
| D | ef100.c | 73 netif_dbg(efx, probe, efx->net_dev, in ef100_pci_parse_ef100_entry() 78 netif_err(efx, probe, efx->net_dev, in ef100_pci_parse_ef100_entry() 85 netif_err(efx, probe, efx->net_dev, in ef100_pci_parse_ef100_entry() 127 netif_err(efx, probe, efx->net_dev, in ef100_pci_parse_continue_entry() 137 netif_err(efx, probe, efx->net_dev, in ef100_pci_parse_continue_entry() 148 netif_err(efx, probe, efx->net_dev, in ef100_pci_parse_continue_entry() 166 netif_err(efx, probe, efx->net_dev, in ef100_pci_parse_continue_entry() 196 netif_dbg(efx, probe, efx->net_dev, in ef100_pci_walk_xilinx_table() 201 netif_err(efx, probe, efx->net_dev, in ef100_pci_walk_xilinx_table() 210 netif_err(efx, probe, efx->net_dev, in ef100_pci_walk_xilinx_table() [all …]
|
| /kernel/linux/linux-5.10/tools/perf/tests/shell/lib/ |
| D | probe_vfs_getname.sh | 3 perf probe -l 2>&1 | grep -q probe:vfs_getname 8 perf probe -q -d probe:vfs_getname* 15 …line=$(perf probe -L getname_flags 2>&1 | egrep 'result.*=.*filename;' | sed -r 's/[[:space:]]+([[… 16 perf probe -q "vfs_getname=getname_flags:${line} pathname=result->name:string" || \ 17 perf probe $verbose "vfs_getname=getname_flags:${line} pathname=filename:ustring"
|
| /kernel/linux/linux-5.10/tools/testing/selftests/ftrace/test.d/direct/ |
| D | kprobe-direct.tc | 44 # probe -> direct -> no direct > no probe 50 # probe -> direct -> no probe > no direct 56 # direct -> probe -> no probe > no direct 62 # direct -> probe -> no direct > no noprobe
|
| /kernel/linux/linux-6.6/tools/testing/selftests/ftrace/test.d/direct/ |
| D | kprobe-direct.tc | 44 # probe -> direct -> no direct > no probe 50 # probe -> direct -> no probe > no direct 56 # direct -> probe -> no probe > no direct 62 # direct -> probe -> no direct > no noprobe
|
| /kernel/linux/linux-6.6/tools/testing/selftests/bpf/ |
| D | sdt.h | 1 /* <sys/sdt.h> - Systemtap static probe definition macros. 244 Without that assembler support, some combinations of probe placements 404 number of probe arguments is not known until compile time. Since 406 pre-#define SDT_USE_VARIADIC to enable this type of probe. 430 contain the actual assembly code around the probe site. 438 emits the assembly code for "before\nafter", with a probe in between. 439 The probe arguments are the %eax register, and the value of the memory 444 In a GNU C extended asm statement, the probe arguments can be specified 446 macro STAP_PROBE_ASM_OPERANDS gives the C values of these probe arguments, 460 but the probe site is right between "someinsn" and "otherinsn". [all …]
|
| D | uprobe_multi.c | 57 #define PROBE STAP_PROBE(test, usdt); macro 59 #define PROBE10 PROBE PROBE PROBE PROBE PROBE \ 60 PROBE PROBE PROBE PROBE PROBE
|
| /kernel/linux/linux-6.6/tools/perf/tests/shell/lib/ |
| D | probe_vfs_getname.sh | 4 perf probe -l 2>&1 | grep -q probe:vfs_getname 9 perf probe -q -d probe:vfs_getname* 16 …line=$(perf probe -L getname_flags 2>&1 | grep -E 'result.*=.*filename;' | sed -r 's/[[:space:]]+(… 17 perf probe -q "vfs_getname=getname_flags:${line} pathname=result->name:string" || \ 18 perf probe $add_probe_verbose "vfs_getname=getname_flags:${line} pathname=filename:ustring"
|
| /kernel/linux/linux-6.6/kernel/ |
| D | tracepoint.c | 176 printk(KERN_DEBUG "Probe %d : %p\n", i, funcs[i].func); in debug_print_probes() 184 int iter_probes; /* Iterate over old probe array. */ in func_add() 204 /* + 2 : one for new probe, one for NULL func */ in func_add() 255 * If probe is NULL, then nr_probes = nr_del = 0, and then the in func_remove() 321 * Add the probe function to a tracepoint. 346 * that the new probe callbacks array is consistent before setting in tracepoint_add_func() 391 * Remove a probe function from a tracepoint. 463 * tracepoint_probe_register_prio_may_exist - Connect a probe to a tracepoint with priority 465 * @probe: probe handler 472 int tracepoint_probe_register_prio_may_exist(struct tracepoint *tp, void *probe, in tracepoint_probe_register_prio_may_exist() argument [all …]
|