Re: [PATCH 2/2] tracing/rcu: don't trace rcu_callback on offline CPUs

From: Steven Rostedt
Date: Sun Feb 14 2016 - 11:44:57 EST


On Sat, 13 Feb 2016 21:22:53 +0300
Denis Kirjanov <kda@xxxxxxxxxxxxxxxxx> wrote:

>
> diff --git a/include/trace/events/rcu.h b/include/trace/events/rcu.h
> index ef72c4a..5470f2f 100644
> --- a/include/trace/events/rcu.h
> +++ b/include/trace/events/rcu.h
> @@ -435,6 +435,8 @@ TRACE_EVENT(rcu_callback,
>
> TP_ARGS(rcuname, rhp, qlen_lazy, qlen),
>
> + TP_CONDITION(cpu_online(raw_smp_processor_id())),
> +

Besides the fact that this isn't a TRACE_EVENT_CONDITION, Isn't calling
rcu_callback() dangerous from an offline CPU?

Or is calling a callback from an offline CPU OK?

Perhaps it is OK, as it doesn't need to worry about its current CPU,
just the other CPUs.

Paul?

-- Steve


> TP_STRUCT__entry(
> __field(const char *, rcuname)
> __field(void *, rhp)