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

From: Steven Rostedt
Date: Tue Feb 23 2021 - 21:19:09 EST


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