reentrant probes
Seth, Rohit
rohit.seth@intel.com
Mon May 2 17:16:00 GMT 2005
Frank Ch. Eigler <> wrote on Thursday, April 28, 2005 1:36 PM:
Hi Frank,
> Hi -
>
> Here are some kprobe reentrancy scenarios that may be problematic for
> cunning users of systemtap.
>
> Reentrancy:
> one.stp: probe kernel.function("sys_read") {
> relayfs_printsomething ("yo") } two.stp: probe
> kernel.function("*@relayfs.c") { .... } # Two systemtap sessions
> running concurrently. Executing the the first # handle causes the
> other handler to be hit. Reentrancy!
> # => We want to momentarily block the reentrant relayfs probe hit,
> but # flag in two.stp's runtime that this has happened.
> # We prefer not to disarm two.stp permanently.
>
I think it will be quite useful to allow renentrancy in probes. Not
sure why would you want to restrict this.
> Concurrency:
> probe kernel.syscall("read") { ... }
> # Two processors with user code concurrently calling read(2).
> # => We want to execute the probe handlers concurrently, and
> # not lock out the other kprobe hit event, to avoid
> # timing interference.
Agree with this part that probe handlers should be SMP safe (...as they
are executing in kernel space/context).
-rohit
More information about the Systemtap
mailing list