On Tue, Jun 20, 2023 at 09:30:52AM +0800, Zheng Yejian wrote:
From: "Steven Rostedt (Google)" rostedt@goodmis.org
commit e18eb8783ec4949adebc7d7b0fdb65f65bfeefd9 upstream.
Currently the tracing_reset_all_online_cpus() requires the trace_types_lock held. But only one caller of this function actually has that lock held before calling it, and the other just takes the lock so that it can call it. More users of this function is needed where the lock is not held.
Add a tracing_reset_all_online_cpus_unlocked() function for the one use case that calls it without being held, and also add a lockdep_assert to make sure it is held when called.
Then have tracing_reset_all_online_cpus() take the lock internally, such that callers do not need to worry about taking it.
Link: https://lkml.kernel.org/r/20221123192741.658273220@goodmis.org
Cc: Masami Hiramatsu mhiramat@kernel.org Cc: Andrew Morton akpm@linux-foundation.org Cc: Zheng Yejian zhengyejian1@huawei.com Signed-off-by: Steven Rostedt (Google) rostedt@goodmis.org
[Refers to commit message of 417d5ea6e735e5d88ffb6c436cf2938f3f476dd1, this patch is pre-depended, and tracing_reset_all_online_cpus() should be called after trace_types_lock is held as its comment describes.] Fixes: 417d5ea6e735 ("tracing: Free buffers when a used dynamic event is removed") Signed-off-by: Zheng Yejian zhengyejian1@huawei.com
All now queued up, thanks.
greg k-h