Re: [RFC PATCH 0/6] [RFC] Faultable tracepoints (v2)

From: Michael Jeanson
Date: Wed Feb 24 2021 - 11:23:18 EST


[ Adding Mathieu Desnoyers in CC ]

On 2021-02-23 21 h 16, Steven Rostedt wrote:
On Thu, 18 Feb 2021 17:21:19 -0500
Michael Jeanson <mjeanson@xxxxxxxxxxxx> wrote:

This series only implements the tracepoint infrastructure required to
allow tracers to handle page faults. Modifying each tracer to handle
those page faults would be a next step after we all agree on this piece
of instrumentation infrastructure.

I started taking a quick look at this, and came up with the question: how
do you allow preemption when dealing with per-cpu buffers or storage to
record the data?

That is, perf, bpf and ftrace are all using some kind of per-cpu data, and
this is the reason for the need to disable preemption. What's the solution
that LTTng is using for this? I know it has a per cpu buffers too, but does
it have some kind of "per task" buffer that is being used to extract the
data that can fault?

-- Steve