]> www.infradead.org Git - users/jedix/linux-maple.git/commit
USDT implementation (Phase 1).
authorKris Van Hees <kris.van.hees@oracle.com>
Wed, 23 Jan 2013 09:53:14 +0000 (04:53 -0500)
committerKris Van Hees <kris.van.hees@oracle.com>
Wed, 23 Jan 2013 09:53:14 +0000 (04:53 -0500)
commitd007abf2161da09b5d631fa1b7bb65f9ddb7097e
tree4593f471996e979c98d6762456517aa8d8235e5e
parent7c4cdf629b4d12ffc7ff25cb00bddc23c53d163a
USDT implementation (Phase 1).

This rather large patch provides the implementation for USDT support at the
DTrace kernel core level, and the fasttrap provider level.  It ensures that
executables can register their embedded providers (with USDT probes), that
the probes are visible to the dtrace userspace utility, and that probes are
properly removed upon executable completion, execve() invocation, or any
unexpected executable termination.

The following parts are provided by this patch:
- meta-provider support (dtrace_ptofapi)
- helper ioctl interface (dtrace_dev)
- DIF validation for helper objects (dtrace_dif)
- DOF processing for helpers for provider and probe definitions (dtrace_dof)
- fasttrap meta-provider for USDT only (fasttrap*)

The dtrace_helper.c file was removed because this code belongs in dtrace_dof.c
instead.

Minimal changes were made to the core kernel in exec.c, sched.h, exit.c, and
fork.c to add support for process-specific helpers (and those encapsulate
providers and probes).

Signed-off-by: Kris Van Hees <kris.van.hees@oracle.com>
dtrace/dtrace.h
dtrace/dtrace_dev.c
dtrace/dtrace_dif.c
dtrace/dtrace_dof.c
dtrace/dtrace_helper.c [deleted file]
dtrace/dtrace_ptofapi.c
dtrace/fasttrap.h [deleted file]
dtrace/fasttrap_dev.c
dtrace/fasttrap_impl.h [new file with mode: 0644]
dtrace/fasttrap_mod.c