Re: [PATCH 03/15] io_uring: Use trace_invoke_##name() at guarded tracepoint call sites

Keith Busch
2026-03-12T15:24:24Z

On Thu, Mar 12, 2026 at 11:04:58AM -0400, Vineeth Pillai (Google) wrote:
> if (trace_io_uring_complete_enabled())
> - trace_io_uring_complete(req->ctx, req, cqe);
> + trace_invoke_io_uring_complete(req->ctx, req, cqe);

Curious, this one doesn't follow that pattern of "if (enabed && cond)"
that this cover letter said it was addressing, so why doesn't this call
just drop the 'if' check and go straight to trace_io_uring_complete()? I
followed this usage to commit a0730c738309a06, which says that the
compiler was generating code to move args before checking if the trace
was enabled. That commit was a while ago though, and suggests to remove
the check if that problem is solved. Is it still a problem?