On Mon, 23 Apr 2018 13:12:21 -0400 (EDT) Mathieu Desnoyers <mathieu.desnoy...@efficios.com> 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