* Peter Zijlstra <peterz@xxxxxxxxxxxxx> wrote: > On Wed, Jan 24, 2018 at 02:39:16AM -0800, tip-bot for Peter Zijlstra wrote: > > Commit-ID: 25695067c32e34047b5490436a90af507fda1c2e > > Gitweb: https://git.kernel.org/tip/25695067c32e34047b5490436a90af507fda1c2e > > Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> > > AuthorDate: Tue, 9 Jan 2018 13:10:30 +0100 > > Committer: Ingo Molnar <mingo@xxxxxxxxxx> > > CommitDate: Wed, 24 Jan 2018 10:07:23 +0100 > > > > perf/core: Fix lock inversion between perf,trace,cpuhp > > > > Lockdep gifted us with noticing the following race: > > > > perf_trace_init() > > perf_trace_event_init() > > perf_trace_event_reg() > > tp_event->class->reg() := tracepoint_probe_register > > trace_point_add_func() > > > > perf_event_init_cpu() > > > > perf_event_task_disable() > > mutex_lock(¤t->perf_event_mutex) > > > > do_exit() > > task_work_run() > > __fput() > > perf_release() > > perf_event_release_kernel() > > free_event() > > _free_event() > > event->destroy() := perf_trace_destroy > > > > You seem to have lost part of the Changelog, mine looks like: > > perf_trace_init() > #0 mutex_lock(&event_mutex) > perf_trace_event_init() > perf_trace_event_reg() > tp_event->class->reg() := tracepoint_probe_register > #1 mutex_lock(&tracepoints_mutex) > trace_point_add_func() > #2 static_key_enable() > > > #2 do_cpu_up() > perf_event_init_cpu() > #3 mutex_lock(&pmus_lock) > #4 mutex_lock(&ctx->mutex) > > > perf_event_task_disable() > mutex_lock(¤t->perf_event_mutex) > #4 ctx = perf_event_ctx_lock() > #5 perf_event_for_each_child() > > > do_exit() > task_work_run() > __fput() > perf_release() > perf_event_release_kernel() > #4 mutex_lock(&ctx->mutex) > #5 mutex_lock(&event->child_mutex) > free_event() > _free_event() > event->destroy() := perf_trace_destroy > #0 mutex_lock(&event_mutex); > > > > Which shows an actual deadlock. Oh, the '#' was probably interpreted as a comment when I applied it ... Thanks, Ingo -- To unsubscribe from this list: send the line "unsubscribe linux-tip-commits" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html