Re: Can we switch the tracepoints from preempt protection to rcu_read_lock?

From: Steven Rostedt
Date: Fri Jan 17 2025 - 12:28:31 EST


On Tue, 10 Dec 2024 14:03:38 -0500
Mathieu Desnoyers <mathieu.desnoyers@xxxxxxxxxxxx> wrote:

> > I'm not asking for you to do this work, but can you remind me what you saw
> > when you created the faultable tracepoints?
>
> I saw the future! ;-)

Well, I actually meant what you saw in the tracing code that would have an
issue with removing preempt_disable from tracepoints ;-)

Anyway. Sebastian,

Doing a quick scan, one issue is your code:


static inline unsigned int tracing_gen_ctx_dec(void)
{
unsigned int trace_ctx;

trace_ctx = tracing_gen_ctx();
/*
* Subtract one from the preemption counter if preemption is enabled,
* see trace_event_buffer_reserve()for details.
*/
if (IS_ENABLED(CONFIG_PREEMPTION))
trace_ctx--;
return trace_ctx;
}

Looks like that could be removed if we remove preemption from the tracepoints.

-- Steve