]> sourceware.org Git - systemtap.git/commit
PR23866: Make the bpf backend use BPF raw tracepoints for kernel.trace("*")
authorWilliam Cohen <wcohen@redhat.com>
Thu, 18 Jul 2019 15:37:37 +0000 (11:37 -0400)
committerWilliam Cohen <wcohen@redhat.com>
Thu, 18 Jul 2019 15:37:37 +0000 (11:37 -0400)
commitfcdd71babea2435601e5e7f8b6b5faae4a663443
treefbbf752793002450e6738ed9ba233a7345215f89
parent1c9948168af8ab6bd5de608879eed182e6e1888e
PR23866: Make the bpf backend use BPF raw tracepoints for kernel.trace("*")

The BPF raw tracepoints provide arguments that better match the
Systemtap lkm kernel tracepoint probes than regular BPF tracepoints.
The BPF backend will use the BPF raw tracepoints unless the user
specifies the old behavior with a --compatible=4.1 option on the
commandline to address.

The new BPF raw tracepoints and their argument are discovered in the
same way as the old BPF tracepoints.  A number of small machine
generated C files are generated with macros are compiled to query the
available tracepoints in the kernel. Debug information describing the
data structures passed into the BPF tracepoints is examined to
determine the type and location of the tracepoint arguments.

Each probe handler BPF code for BPF raw tracepoints is put into a
raw_trace section as the method of registering the BPF raw tracepoints
is different than the regular BPF tracepoints.

The bpf tests have been revised to include the --compatible=4.1 option
for the tests where it makes a difference.
14 files changed:
NEWS
bpf-translate.cxx
config.in
configure
configure.ac
session.cxx
session.h
stapbpf/stapbpf.cxx
tapset-been.cxx
tapset-perfmon.cxx
tapset-timers.cxx
tapsets.cxx
tapsets.h
testsuite/systemtap.bpf/bpf.exp
This page took 0.030776 seconds and 5 git commands to generate.