----- On Apr 27, 2018, at 10:47 AM, rostedt rost...@goodmis.org wrote: > On Fri, 27 Apr 2018 10:26:29 -0400 (EDT) > Mathieu Desnoyers <mathieu.desnoy...@efficios.com> wrote: > >> The general approach and the implementation look fine, except for >> one small detail: I would be tempted to explicitly disable preemption >> around the call to the tracepoint callback for the rcuidle variant, >> unless we plan to audit every tracer right away to remove any assumption >> that preemption is disabled in the callback implementation. > > I'm thinking that we do that audit. There shouldn't be many instances > of it. I like the idea that a tracepoint callback gets called with > preemption enabled.
I see that ftrace explicitly disables preemption in its ring buffer code. FWIW, this is redundant when called from sched-rcu tracepoints and from kprobes which adds unnecessary performance overhead. LTTng expects preemption to be disabled when invoked. I can adapt on my side as needed, but would prefer not to have redundant preemption disabling for probes hooking on sched-rcu tracepoints (which is the common case). Do perf callbacks expect preemption to be disabled ? Thanks, Mathieu -- Mathieu Desnoyers EfficiOS Inc. http://www.efficios.com