Messages in this thread |  | | Date | Thu, 30 Apr 2026 09:35:54 -0400 | | From | Steven Rostedt <> | | Subject | Re: [PATCH] tracepoint: add lockdep rcu_is_watching() check to trace_call__##name() |
| |
On Thu, 30 Apr 2026 06:35:10 +0100 David Carlier <devnexen@gmail.com> wrote:
> Without it, sites converted from trace_foo(args) to trace_call__foo(args) > lose the WARN_ONCE(!rcu_is_watching()) coverage under CONFIG_LOCKDEP when > the tracepoint is enabled - the case that commit c2679254b9c9 ("tracing: > Make tracepoint lockdep check actually test something") added the warning > for. > > Mirror the same block in both trace_call__##name() bodies, gated by > (cond) in __DECLARE_TRACE to match its trace_##name() and ungated in > __DECLARE_TRACE_SYSCALL.
If it gets called without rcu watching, the rcu dereference in __DO_TRACE_CALL() will trigger.
No need to add the warning here. The reason the trace_foo() had it, was to trigger when the tracepoint WASN'T enabled.
Now, perhaps where the warning should go, is in the trace_foo_enabled() code.
-- Steve
|  |