]> www.infradead.org Git - users/jedix/linux-maple.git/commit
dtrace: USDT implementation (Phase 1)
authorKris Van Hees <kris.van.hees@oracle.com>
Wed, 23 Jan 2013 09:53:14 +0000 (04:53 -0500)
committerNick Alcock <nick.alcock@oracle.com>
Mon, 29 Jun 2015 21:41:41 +0000 (22:41 +0100)
commit18bf76a8ef4d148c19732d552f253864f4235fc5
treefde8fe51425edec9e700e561340c8374ee50f667
parent27811db5cff9cb78e8efec026d936ace38ec1c76
dtrace: 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>
fs/exec.c
include/linux/dtrace_ioctl.h
include/linux/dtrace_os.h
include/linux/fasttrap.h [new file with mode: 0644]
include/linux/sched.h
kernel/dtrace/dtrace_os.c
kernel/exit.c
kernel/fork.c