On Fri, Aug 10, 2018 at 12:35:17PM -0400, Steven Rostedt wrote:
> On Fri, 10 Aug 2018 12:30:42 -0400
> Steven Rostedt <[email protected]> wrote:
> 
> Maybe I should say SRCU?

That would be an improvement.  What, me read comments?  ;-)

                                                Thanx, Paul

> +/* SRCU is initialized at core_initcall */
> +postcore_initcall(release_early_probes);
> +
>  static inline void release_probes(struct tracepoint_func *old)
>  {
>       if (old) {
>               struct tp_probes *tp_probes = container_of(old,
>                       struct tp_probes, probes[0]);
> +
> +             /*
> +              * We can't free probes if SRCU is not initialized yet.
> +              * Postpone the freeing till after SRCU is initialized.
> +              */
> +             if (unlikely(!ok_to_free_tracepoints)) {
> +                     tp_probes->rcu.next = early_probes;
> +                     early_probes = &tp_probes->rcu;
> +                     return;
> +             }
> +
> 
> -- Steve
> 

Reply via email to