On Tue, Mar 28, 2017 at 10:58:43PM -0400, Steven Rostedt wrote: > On Wed, 29 Mar 2017 11:42:27 +0900 > Namhyung Kim <namhy...@kernel.org> wrote: > > > On Tue, Mar 28, 2017 at 10:28:55PM -0400, Steven Rostedt wrote: > > > On Wed, 29 Mar 2017 11:20:37 +0900 > > > Namhyung Kim <namhy...@kernel.org> wrote: > > > > > > > > > > > Actually, if this is called after event_trace_del_tracer(), the tr is > > > > > already invisible and nothing new should change. > > > > > > > > I don't follow. After event_trace_del_tracer(), the tr is invisible > > > > from the probe of event tracing but still is visible from the probe of > > > > function tracing, right? > > > > > > Well, nothing should be able to get to the set_ftrace_filter file when > > > there. Because of the tr->ref count. But keeping the lock is safer > > > regardless, and it's not a fast path, so the extra overhead if the lock > > > isn't needed is no big deal. > > > > Oh, I meant if a pid filter was already set when removing the > > instance. Function filters should be inactive since function tracer > > was finished (via tracing_set_nop), but the probe on sched_switch > > event (for pid filter) is still active and references the tr. > > > > I think we are talking about two different things. I was simply talking > about the need to take the ftrace_lock or not in the > clear_ftrace_pids() call here. I don't think we have to, because nothing > should be in contention with it at that point. But it doesn't hurt to > take it.
Right, I agree with you wrt the locking. Thanks, Namhyung