On Thu, 3 Oct 2024 11:16:31 -0400 Mathieu Desnoyers <mathieu.desnoyers@xxxxxxxxxxxx> wrote: > @@ -283,8 +290,13 @@ static inline struct tracepoint *tracepoint_ptr_deref(tracepoint_ptr_t *p) > "RCU not watching for tracepoint"); \ > } \ > } \ > - __DECLARE_TRACE_RCU(name, PARAMS(proto), PARAMS(args), \ > - PARAMS(cond)) \ > + static inline void trace_##name##_rcuidle(proto) \ > + { \ > + if (static_key_false(&__tracepoint_##name.key)) \ > + __DO_TRACE(name, \ > + TP_ARGS(args), \ > + TP_CONDITION(cond), 1); \ > + } \ > static inline int \ > register_trace_##name(void (*probe)(data_proto), void *data) \ > { \ Looking at this part of your change, I realized it's time to nuke the rcuidle() variant. Feel free to rebase on top of this patch: https://lore.kernel.org/all/20241003173051.6b178bb3@xxxxxxxxxxxxxxxxxx/ -- Steve