On Mon, May 20, 2019 at 11:47:00PM +0000, Kris Van Hees wrote: > > 2. bpf: add BPF_PROG_TYPE_DTRACE > > This patch adds BPF_PROG_TYPE_DTRACE as a new BPF program type, without > actually providing an implementation. The actual implementation is > added in patch 4 (see below). We do it this way because the > implementation is being added to the tracing subsystem as a component > that I would be happy to maintain (if merged) whereas the declaration > of the program type must be in the bpf subsystem. Since the two > subsystems are maintained by different people, we split the > implementing patches across maintainer boundaries while ensuring that > the kernel remains buildable between patches. None of these kernel patches are necessary for what you want to achieve. Feel free to add tools/dtrace/ directory and maintain it though. The new dtrace_buffer doesn't need to replicate existing bpf+kernel functionality and no changes are necessary in kernel/events/ring_buffer.c either. tools/dtrace/ user space component can use either per-cpu array map or hash map as a buffer to store arbitrary data into and use existing bpf_perf_event_output() to send it to user space via perf ring buffer. See, for example, how bpftrace does that.