[DTrace-devel] DTrace development based on BPF

Kris Van Hees kris.van.hees at oracle.com
Mon May 20 10:09:13 PDT 2019


Quick email to announce that I'll be posting a patch-set later today with the
beginning implementation of DTrace based on BPF and other common Linux kernel
facilities for tracing.  This first patch-set will comprise some extension to
BPF to support features that we need to implement the general action execution
mechanism that DTrace uses for its scripting.  The current implementation is
providing the very core of the probe firing mechanism, and ensuring that the
firing probe can trigger DTrace BPF program execution by means of a kind of
trampoline BPF program.  It also provides the mechanism to write probe data
directly into a buffer that is mmap'd from userspace (using the perf mmap'd
ring-buffer mechanism).

This is an RFC patch-set to demonstrate what I am doing and to show that it
works.  It provides an idea about the direction that this project is going,
and future patch-sets will build upon this one to extend this prototype into
an ever-growing implementation of DTrace itself.  As we add more of the core
features, we will rework the existing userspace dtrace application to make
use of this new kernel implementation, and features will be enabled as they
get added.

Kris



More information about the DTrace-devel mailing list