Re: [PATCH 1/3] tracepoints: Do not use call_rcu_sched() before early_initcall()

From: Steven Rostedt
Date: Sun Dec 14 2014 - 12:44:40 EST


On Sun, 14 Dec 2014 17:29:28 +0000 (UTC)
Mathieu Desnoyers <mathieu.desnoyers@xxxxxxxxxxxx> wrote:

> Given that your reason for having this RCU-specific logic in tracepoint.c
> rather than within call_rcu*() is not slowing down a fast-path, how about
> creating a new call_rcu_early() and call_rcu_sched_early() which can be
> called in normal operation and at early boot ?

That's a possibility.

>
> This would allow us to keep the RCU logic within the RCU implementation
> rather than strongly coupling it with the tracepoint code.
>

It's not that strong of a coupling to RCU. It's more coupled to being
called really early (which needs special care).

It just happened that RCU failed for being called that early. Other
things could possible fail too (if added to the tracepoint logic).
Maybe I should rename the variable to "tracepoint_earlyboot" instead.

But as RCU is the only thing that failed (so far in my testing), I'll
think about adding a call_rcu_sched_early(). But then, this does make
things more complex, and me more nervous about adding it.

-- Steve
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/