Re: [RFC v4 3/4] irqflags: Avoid unnecessary calls to trace_ if you can

From: Steven Rostedt
Date: Mon Apr 23 2018 - 17:22:59 EST


On Mon, 23 Apr 2018 13:12:21 -0400 (EDT)
Mathieu Desnoyers <mathieu.desnoyers@xxxxxxxxxxxx> wrote:


> I'm inclined to explicitly declare the tracepoints with their given
> synchronization method. Tracepoint probe callback functions for currently
> existing tracepoints expect to have preemption disabled when invoked.
> This assumption will not be true anymore for srcu-tracepoints.

Actually, why not have a flag attached to the tracepoint_func that
states if it expects preemption to be enabled or not? If a
trace_##event##_srcu() is called, then simply disable preemption before
calling the callbacks for it. That way if a callback is fine for use
with srcu, then it would require calling

register_trace_##event##_may_sleep();

Then if someone uses this on a tracepoint where preemption is disabled,
we simply do not call it.

-- Steve