Messages in this thread | | | Date | Fri, 10 Aug 2018 12:35:17 -0400 | From | Steven Rostedt <> | Subject | Re: [RFC][PATCH] tracepoints: Free early tracepoints after RCU is initialized |
| |
On Fri, 10 Aug 2018 12:30:42 -0400 Steven Rostedt <rostedt@goodmis.org> wrote:
Maybe I should say SRCU?
+/* 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
| |