Lines Matching refs:probe
37 any instruction in the kernel. A return probe fires when a specified
44 the probe is to be inserted and what handler is to be called when
45 the probe is hit.
86 Since kprobes can probe into a running kernel code, it can change the
111 probe is hit, Kprobes saves a copy of the return address, and replaces
117 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.
175 sysctl(8)), Kprobes tries to reduce probe-hit overhead by using a jump
181 When a probe is registered, before attempting this optimization,
184 probepoint, there'll be a probe there.
189 Before optimizing a probe, Kprobes performs the following safety checks:
216 - a call to the trampoline code which calls user's probe handlers.
227 - The probe has a post_handler.
229 - The probe is disabled.
231 In any of the above cases, Kprobes won't start optimizing the probe.
280 path by changing regs->ip and returning 1. However, when the probe
296 Kprobes can probe most of the kernel except itself. This means
297 that there are some functions where kprobes cannot probe. Probing
299 fault) or the nested probe handler may never be called.
304 Kprobes checks the given probe address against the blacklist and
340 If you need to insert a probe in the middle of a function, you may find
349 function for each type of probe. The API also includes "register_*probes"
352 the associated probe handlers that you'll write. See the files in the
435 Establishes a return probe for the function whose address is
443 User's return-probe handler (rp->handler)::
466 unregister_*probe
475 Removes the specified probe. The unregister function can be called
476 at any time after the probe has been registered.
480 If the functions find an incorrect probe (ex. an unregistered probe),
481 they clear the addr field of the probe.
494 the bad probe, are safely unregistered before the register_*probes
497 - kps/rps: an array of pointers to ``*probe`` data structures
523 disable_*probe
532 Temporarily disables the specified ``*probe``. You can enable it again by using
533 enable_*probe(). You must specify the probe which has been registered.
535 enable_*probe
544 Enables ``*probe`` which has been disabled by disable_*probe(). You must specify
545 the probe which has been registered.
555 In general, you can install a probe anywhere in the kernel.
556 In particular, you can probe interrupt handlers. Known exceptions
559 The register_*probe functions will return -EINVAL if you attempt
560 to install a probe in the code that implements Kprobes (mostly
564 If you install a probe in an inline-able function, Kprobes makes
567 so keep this in mind if you're not seeing the probe hits you expect.
569 A probe handler can modify the environment of the probed function
575 from the accidental ones. Don't drink and probe.
577 Kprobes makes no attempt to prevent probe handlers from stepping on
579 probe handler. If a probe handler hits a probe, that second probe's
581 of the second probe will be incremented.
595 Since a return probe is implemented by replacing the return
603 of times it returns, registering a return probe on that function may
613 probe on that function may produce undesirable results. For this
658 million hits per second, depending on the architecture. A return-probe
660 When you have a return probe set on a function, adding a kprobe at
665 k = kprobe; r = return probe; kr = kprobe + return probe
696 programming interface for probe-based instrumentation. Try it out.
738 - Use ftrace dynamic events (kprobe event) with perf-probe.
742 by using perf-probe and set up new event to trace it.
748 - tools/perf/Documentation/perf-probe.txt
763 The first column provides the kernel address where the probe is inserted.
764 The second column identifies the type of probe (k - kprobe and r - kretprobe)
765 while the third column specifies the symbol+offset of the probe.
767 specified. Following columns show probe status. If the probe is on
770 such probes are marked with [GONE]. If the probe is temporarily disabled,
771 such probes are marked with [DISABLED]. If the probe is optimized, it is
772 marked with [OPTIMIZED]. If the probe is ftrace-based, it is marked with
781 change each probe's disabling state. This means that disabled kprobes (marked