/linux/tools/perf/tests/shell/base_probe/ |
H A D | test_adding_kernel.sh | 41 ### basic probe adding 45 $CMD_PERF probe $opt $TEST_PROBE 2> $LOGS_DIR/adding_kernel_add$opt.err 49 "Added new events?:" "probe:$TEST_PROBE" "on $TEST_PROBE" \ 53 print_results $PERF_EXIT_CODE $CHECK_EXIT_CODE "adding probe $TEST_PROBE :: $opt" 58 ### listing added probe :: perf list 61 $CMD_PERF list probe:\* > $LOGS_DIR/adding_kernel_list.log 66 "probe:${TEST_PROBE}(?:_\d+)?\s+\[Tracepoint event\]" \ 70 print_results $PERF_EXIT_CODE $CHECK_EXIT_CODE "listing added probe :: perf list" 74 ### listing added probe :: perf probe -l 77 $CMD_PERF probe -l > $LOGS_DIR/adding_kernel_list-l.log [all …]
|
H A D | test_basic.sh | 2 # perf_probe :: Basic perf probe functionality (exclusive) 12 # This test tests basic functionality of perf probe command. 31 $CMD_PERF probe --help > $LOGS_DIR/basic_helpmsg.log 2> $LOGS_DIR/basic_helpmsg.err 35 "PERF-PROBE" "NAME" "SYNOPSIS" "DESCRIPTION" "OPTIONS" \ 36 "PROBE\s+SYNTAX" "PROBE\s+ARGUMENT" "LINE\s+SYNTAX" \ 64 # without any args perf-probe should print usage 65 $CMD_PERF probe 2> $LOGS_DIR/basic_usage.log > /dev/null 68 "[Uu]sage" "perf probe" "verbose" "quiet" "add" "del" "force" \ 79 $CMD_PERF probe --quiet --add vfs_read > $LOGS_DIR/basic_quiet01.log 2> $LOGS_DIR/basic_quiet01.err 81 $CMD_PERF probe --quiet --del vfs_read > $LOGS_DIR/basic_quiet03.log 2> $LOGS_DIR/basic_quiet02.err
|
H A D | test_adding_blacklisted.sh | 30 VMLINUX_FILE=$(perf probe -v random_probe |& grep "Using.*for symbols" | sed -r 's/^Using (.*) for … 37 REGEX_SCOPE_FAIL="Failed to find scope of probe point" 39 REGEX_NOT_FOUND_MESSAGE="Probe point \'$RE_EVENT\' not found." 52 # functions from blacklist should be skipped by perf probe 53 ! $CMD_PERF probe $BLACKFUNC > $LOGS_DIR/adding_blacklisted.log 2> $LOGS_DIR/adding_blacklisted.err 62 echo "Result polluted by broken DWARF, trying another probe" 67 awk -v probe="$BLACKFUNC" '/DW_AT_language/ { comp_lang = $0 } 68 $0 ~ probe { if (comp_lang) { print comp_lang }; exit }' | 97 ### listing not-added probe 100 $CMD_PERF list probe:\* > $LOGS_DIR/adding_blacklisted_list.log [all …]
|
/linux/tools/perf/Documentation/ |
H A 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 …]
|
/linux/Documentation/trace/ |
H A 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 …]
|
H A 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 …]
|
H A 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 …]
|
H A D | uprobetracer.rst | 14 current_tracer. Instead of that, add probe points via 38 OFFSET : Offset where the probe is inserted. 39 OFFSET%return : Offset where the return probe is inserted. 41 FETCHARGS : Arguments. Each probe can have up to 128 args. 56 (\*1) only for return probe. 81 You can check the total number of probe hits per event via 83 the second is the event name, the third is the number of probe hits. 87 * Add a probe as a new uprobe event, write a new definition to uprobe_events 92 * Add a probe as a new uretprobe event:: 109 at the probed text address. Probe zfree function in /bin/zsh:: [all …]
|
/linux/fs/afs/ |
H A 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. 64 server->probe.error = 0; in afs_vlserver_probe_result() 67 if (!(server->probe.flags & AFS_VLSERVER_PROBE_RESPONDED)) { in afs_vlserver_probe_result() 68 server->probe.abort_code = call->abort_code; in afs_vlserver_probe_result() 69 server->probe.error = ret; in afs_vlserver_probe_result() 77 server->probe.flags |= AFS_VLSERVER_PROBE_LOCAL_FAILURE; in afs_vlserver_probe_result() 78 if (server->probe.error == 0) in afs_vlserver_probe_result() 79 server->probe.error = ret; in afs_vlserver_probe_result() 94 if (!(server->probe.flags & AFS_VLSERVER_PROBE_RESPONDED) && in afs_vlserver_probe_result() [all …]
|
/linux/drivers/base/ |
H A 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 …]
|
H A D | dd.c | 37 * Deferred Probe infrastructure. 39 * Sometimes driver probe order matters, but the kernel doesn't always have 44 * request probing to be deferred by returning -EPROBE_DEFER from its probe hook 46 * Deferred probe maintains two lists of devices, a pending list and an active 48 * pending list. A successful driver probe will trigger moving all devices 61 /* Save the async probe drivers' name from kernel cmdline */ 89 * bus_probe_device() to re-attempt the probe. The loop continues in deferred_probe_work_func() 110 * Drop the mutex while probing each device; the probe path may in deferred_probe_work_func() 119 * probe makes that very unsafe. in deferred_probe_work_func() 162 * list and schedules the deferred probe workqueue to process them. It [all …]
|
/linux/drivers/net/ethernet/sfc/ |
H A 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 …]
|
/linux/tools/perf/tests/shell/lib/ |
H A D | probe_vfs_getname.sh | 4 perf probe -l 2>&1 | grep -q probe:vfs_getname 9 perf probe -q -d probe:vfs_getname* 17 …line=$(perf probe -L getname_flags 2>&1 | grep -E "$result_initname_re" | sed -r "s/$result_initna… 23 …line=$(perf probe -L getname_flags 2>&1 | grep -E "$result_filename_re" | sed -r "s/$result_filena… 28 …line=$(perf probe -L getname_flags 2>&1 | grep -E "$result_aname_re" | sed -r "s/$result_aname_re/… 36 perf probe -q "vfs_getname=getname_flags:${line} pathname=result->name:string" || \ 37 …perf probe $add_probe_verbose "vfs_getname=getname_flags:${line} pathname=filename:ustring" || ret…
|
/linux/tools/testing/selftests/bpf/ |
H A 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 …]
|
H A D | uprobe_multi.c | 74 #define PROBE STAP_PROBE(test, usdt); macro 76 #define PROBE10 PROBE PROBE PROBE PROBE PROBE \ 77 PROBE PROBE PROBE PROBE PROBE
|
H A D | test_bpftool.py | 50 raise IfaceNotFoundError("Could not find any network interface to probe") 84 res = bpftool_json(["feature", "probe", "dev", iface]) 95 bpftool_json(["feature", "probe", "kernel"]), 96 bpftool_json(["feature", "probe"]), 120 bpftool_json(["feature", "probe", "kernel", "full"]), 121 bpftool_json(["feature", "probe", "full"]), 142 full_res = bpftool_json(["feature", "probe", "full"]) 143 not_full_res = bpftool_json(["feature", "probe"]) 172 res = bpftool(["feature", "probe", "macros"])
|
/linux/kernel/ |
H A D | tracepoint.c | 130 printk(KERN_DEBUG "Probe %d : %pSb\n", i, funcs[i].func); in debug_print_probes() 138 int iter_probes; /* Iterate over old probe array. */ in func_add() 158 /* + 2 : one for new probe, one for NULL func */ in func_add() 209 * If probe is NULL, then nr_probes = nr_del = 0, and then the in func_remove() 275 * Add the probe function to a tracepoint. 300 * that the new probe callbacks array is consistent before setting in tracepoint_add_func() 345 * Remove a probe function from a tracepoint. 416 * tracepoint_probe_register_prio_may_exist - Connect a probe to a tracepoint with priority 418 * @probe: probe handler 425 int tracepoint_probe_register_prio_may_exist(struct tracepoint *tp, void *probe, in tracepoint_probe_register_prio_may_exist() argument [all …]
|
/linux/tools/perf/tests/shell/ |
H A D | record+script_probe_vfs_getname.sh | 2 # Use vfs_getname probe to get syscall args filenames (exclusive) 4 # Uses the 'perf test shell' library to add probe:vfs_getname to the system 6 # checks that that was captured by the vfs_getname probe in the generated 12 # shellcheck source=lib/probe.sh 13 . "$(dirname "$0")/lib/probe.sh" 24 skip_no_probe_record_support "probe:vfs_getname*" 29 perf record -o ${perfdata} -e probe:vfs_getname\* touch $file 35 …grep -E " +touch +[0-9]+ +\[[0-9]+\] +[0-9]+\.[0-9]+: +probe:vfs_getname[_0-9]*: +\([[:xdigit:]]+\…
|
H A D | test_uprobe_from_different_cu.sh | 2 # test perf probe of function from different CU 7 # shellcheck source=lib/probe.sh 8 . "$(dirname $0)"/lib/probe.sh 26 perf probe -x ${temp_dir}/testfile -d foo || true 86 perf probe -x ${temp_dir}/testfile --funcs foo | grep "foo" 87 perf probe -x ${temp_dir}/testfile foo
|
/linux/tools/testing/selftests/ftrace/test.d/direct/ |
H A 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
|
/linux/drivers/devfreq/event/ |
H A D | exynos-nocp.c | 3 * exynos-nocp.c - Exynos NoC (Network On Chip) Probe support 30 * The devfreq-event ops structure for nocp probe. 37 /* Disable NoC probe */ in exynos_nocp_set_event() 41 dev_err(nocp->dev, "failed to disable the NoC probe device\n"); in exynos_nocp_set_event() 124 /* Enable NoC probe */ in exynos_nocp_set_event() 134 /* Reset NoC probe */ in exynos_nocp_set_event() 137 dev_err(nocp->dev, "Failed to reset NoC probe device\n"); in exynos_nocp_set_event() 176 dev_err(nocp->dev, "Failed to read the counter of NoC probe device\n"); in exynos_nocp_get_event() 272 pr_info("exynos-nocp: new NoC Probe device registered: %s\n", in exynos_nocp_probe() 286 .probe = exynos_nocp_probe, [all …]
|
/linux/drivers/media/usb/gspca/gl860/ |
H A D | gl860.c | 315 /* This function is called at probe time */ 383 /* This function is called at probe time after sd_config */ 467 /* Probe sensor orientation */ in sd_callback() 523 .probe = sd_probe, 628 u8 probe, nb26, nb96, nOV, ntry; in gl860_guess_sensor() local 634 ctrl_in(gspca_dev, 0xc0, 2, 0x0000, 0x0004, 1, &probe); in gl860_guess_sensor() 635 ctrl_in(gspca_dev, 0xc0, 2, 0x0000, 0x0004, 1, &probe); in gl860_guess_sensor() 661 ctrl_in(gspca_dev, 0xc0, 2, 0x7a00, 0x8030, 1, &probe); in gl860_guess_sensor() 662 gspca_dbg(gspca_dev, D_PROBE, "probe=0x%02x\n", probe); in gl860_guess_sensor() 663 if (probe == 0xff) in gl860_guess_sensor() [all …]
|
/linux/sound/soc/intel/avs/boards/ |
H A D | probe.c | 26 dl->name = "Compress Probe Capture"; in avs_probe_mb_probe() 27 dl->cpus->dai_name = "Probe Extraction CPU DAI"; in avs_probe_mb_probe() 55 card->long_name = card->name = "AVS PROBE"; 72 .probe = avs_probe_mb_probe, 82 MODULE_DESCRIPTION("Intel probe machine driver");
|
/linux/drivers/base/test/ |
H A D | test_async_driver_probe.c | 33 dev_err(dev, "async probe took too long\n"); in test_probe() 36 dev_dbg(&pdev->dev, "sleeping for %d msecs in probe\n", in test_probe() 65 .probe = test_probe, 73 .probe = test_probe, 139 pr_err("test failed: probe took too long\n"); in test_async_probe_init() 168 "test failed: probe took too long\n"); in test_async_probe_init() 202 "test failed: probe was too quick\n"); in test_async_probe_init() 228 "test failed: probe was too quick\n"); in test_async_probe_init() 236 * asynchronous probe calls remaining by forcing timeout and remove in test_async_probe_init() 238 * pending asynchronous probe calls. in test_async_probe_init() [all …]
|
/linux/tools/bpf/bpftool/Documentation/ |
H A D | bpftool-feature.rst | 21 *COMMANDS* := { **probe** | **help** } 26 | **bpftool** **feature probe** [*COMPONENT*] [**full**] [**unprivileged**] [**macros** [**prefix**… 35 bpftool feature probe [kernel] [full] [macros [prefix *PREFIX*]] 36 Probe the running kernel and dump a number of eBPF-related parameters, such 51 Keyword **kernel** can be omitted. If no probe target is specified, probing 62 bpftool feature probe dev *NAME* [full] [macros [prefix *PREFIX*]] 63 Probe network device for supported eBPF features and dump results to the 73 (**helpers**). The command does not probe the system, but simply lists the
|