Lines Matching refs:probe

33 function's arguments.  A return probe fires when a specified function
40 the probe is to be inserted and what handler is to be called when
41 the probe is hit.
87 Here's how it works. When the probe is hit, Kprobes makes a copy of
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.
172 sysctl(8)), Kprobes tries to reduce probe-hit overhead by using a jump
177 When a probe is registered, before attempting this optimization,
180 probepoint, there'll be a probe there.
184 Before optimizing a probe, Kprobes performs the following safety checks:
209 - a call to the trampoline code which calls user's probe handlers.
218 - The probe has either a break_handler (i.e., it's a jprobe) or a
221 - The probe is disabled.
222 In any of the above cases, Kprobes won't start optimizing the probe.
269 path by changing regs->ip and returning 1. However, when the probe
279 Kprobes can probe most of the kernel except itself. This means
280 that there are some functions where kprobes cannot probe. Probing
282 fault) or the nested probe handler may never be called.
287 Kprobes checks the given probe address against the blacklist and
319 If you need to insert a probe in the middle of a function, you may find
327 function for each type of probe. The API also includes "register_*probes"
330 the associated probe handlers that you'll write. See the files in the
421 Establishes a return probe for the function whose address is
429 User's return-probe handler (rp->handler):
449 4.4 unregister_*probe
456 Removes the specified probe. The unregister function can be called
457 at any time after the probe has been registered.
460 If the functions find an incorrect probe (ex. an unregistered probe),
461 they clear the addr field of the probe.
472 the bad probe, are safely unregistered before the register_*probes
474 - kps/rps/jps: an array of pointers to *probe data structures
496 4.7 disable_*probe
503 Temporarily disables the specified *probe. You can enable it again by using
504 enable_*probe(). You must specify the probe which has been registered.
506 4.8 enable_*probe
513 Enables *probe which has been disabled by disable_*probe(). You must specify
514 the probe which has been registered.
525 In general, you can install a probe anywhere in the kernel.
526 In particular, you can probe interrupt handlers. Known exceptions
529 The register_*probe functions will return -EINVAL if you attempt
530 to install a probe in the code that implements Kprobes (mostly
534 If you install a probe in an inline-able function, Kprobes makes
537 so keep this in mind if you're not seeing the probe hits you expect.
539 A probe handler can modify the environment of the probed function
545 from the accidental ones. Don't drink and probe.
547 Kprobes makes no attempt to prevent probe handlers from stepping on
549 probe handler. If a probe handler hits a probe, that second probe's
551 of the second probe will be incremented.
566 Since a return probe is implemented by replacing the return
574 of times it returns, registering a return probe on that function may
584 probe on that function may produce undesirable results. For this
627 return-probe hit typically takes 50-75% longer than a kprobe hit.
628 When you have a return probe set on a function, adding a kprobe at
632 k = kprobe; j = jprobe; r = return probe; kr = kprobe + return probe
633 on same function; jr = jprobe + return probe on same function
660 programming interface for probe-based instrumentation. Try it out.
696 The first column provides the kernel address where the probe is inserted.
697 The second column identifies the type of probe (k - kprobe, r - kretprobe
699 the probe. If the probed function belongs to a module, the module name
700 is also specified. Following columns show probe status. If the probe is on
703 such probes are marked with [GONE]. If the probe is temporarily disabled,
704 such probes are marked with [DISABLED]. If the probe is optimized, it is
705 marked with [OPTIMIZED]. If the probe is ftrace-based, it is marked with
714 change each probe's disabling state. This means that disabled kprobes (marked