From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 105302 invoked by alias); 12 Jun 2019 14:22:08 -0000 Mailing-List: contact systemtap-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Post: List-Help: , Sender: systemtap-owner@sourceware.org Received: (qmail 105271 invoked by uid 48); 12 Jun 2019 14:22:04 -0000 From: "wcohen at redhat dot com" To: systemtap@sourceware.org Subject: [Bug translator/23866] dissonance between kernel tracepoint parametrization, lkm vs bpf Date: Wed, 12 Jun 2019 14:22:00 -0000 X-Bugzilla-Reason: AssignedTo X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: systemtap X-Bugzilla-Component: translator X-Bugzilla-Version: unspecified X-Bugzilla-Keywords: X-Bugzilla-Severity: normal X-Bugzilla-Who: wcohen at redhat dot com X-Bugzilla-Status: NEW X-Bugzilla-Resolution: X-Bugzilla-Priority: P2 X-Bugzilla-Assigned-To: systemtap at sourceware dot org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: Message-ID: In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: http://sourceware.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 X-SW-Source: 2019-q2/txt/msg00087.txt.bz2 https://sourceware.org/bugzilla/show_bug.cgi?id=3D23866 --- Comment #3 from William Cohen --- The original bpf tracepoint support only provided a subset of predefined list of arguments extracted from the tracepoint arguments. There are some tracepoints by happenstance that have the same set of target variables available as the systemtap tracepoint versions of the probes. Around March 2018 the kernel added the BPF_PROG_TYPE_RAW_TRACEPOINT which provides an unprocessed array of the arguments to the tracepoint (ctx->args[i]). There are a couple of iovisor bcc file that describe and use the raw tracepoints: https://github.com/iovisor/bcc/blob/master/docs/reference_guide.md#7-raw-tr= acepoints https://github.com/iovisor/bcc/blob/master/tools/runqlat.py https://github.com/iovisor/bcc/blob/master/tools/runqslower.py The following blog article provides an example using llvm and bpf backend to use the bpf raw tracepoint: https://sysdig.com/blog/the-art-of-writing-ebpf-programs-a-primer/ The above sysdig blog article shows the pointer to the array of 8 byte entries (ctx->args) is passed in by r1 and outlines how to access the fields. --=20 You are receiving this mail because: You are the assignee for the bug.