linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [RFC][PATCH 0/5] perf/tracing/cpuhotplug: Fix locking order
@ 2017-05-12 17:15 Steven Rostedt
  2017-05-12 17:15 ` [RFC][PATCH 1/5] tracing: Make sure RCU is watching before calling a stack trace Steven Rostedt
                   ` (6 more replies)
  0 siblings, 7 replies; 34+ messages in thread
From: Steven Rostedt @ 2017-05-12 17:15 UTC (permalink / raw)
  To: linux-kernel
  Cc: Thomas Gleixner, Peter Zijlstra, Ingo Molnar, Mathieu Desnoyers,
	Paul E. McKenney, Masami Hiramatsu

NOTE: This was quickly written. The change logs and patches probably need
some loving. This is for discussion. These may become legitimate patches,
but for now, I'm seeing if this is an acceptable solution.

Also note, I checked out the last branch that I had Linus pull, and then
merged with tip's commit b53e5129~1, which is the commit just before
"trace/perf: Cure hotplug lock ordering issues" in tip/smp/hotplug
that placed get_online_cpus() ahead of event_mutex. The issue is that
event_mutex is a high level mutex, and trying to make sure that
get_online_cpus() is held whenever it is held and is going to be a
nightmare. So I started ahead of that commit, but I needed changes
in my own repo to do full testing. I renamed this temp branch to
"tip/cpuhotplug", and you can pull it as well. But this is not going
to be a candidate for pushing to Linus.

The 5 patches here are:

 1) fix a lockdep splat when taking stack trace in irqsoff tracing
    (one of my tests triggered this)

 2) Allow for get_online_cpus() to nest

 3) Have kprobes take get_online_cpus() before taking jump label lock.

 4) Have tracepoints always take get_online_cpus

 5) Have perf take event_mutex before taking get_online_cpus()

Thoughts?

-- Steve


  git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace.git
tip/cpuhotplug

Head SHA1: ddb06e08fa10ed5030285267a9b1e25d40c337c8


Steven Rostedt (VMware) (5):
      tracing: Make sure RCU is watching before calling a stack trace
      cpu-hotplug: Allow get_online_cpus() to nest
      kprobes: Take get_online_cpus() before taking jump_label_lock()
      tracepoints: Grab get_online_cpus() before taking tracepoints_mutex
      perf: Grab event_mutex before taking get_online_cpus()

----
 include/linux/sched.h           | 1 +
 include/linux/trace_events.h    | 2 ++
 kernel/cpu.c                    | 9 +++++++++
 kernel/events/core.c            | 9 +++++++++
 kernel/fork.c                   | 1 +
 kernel/kprobes.c                | 6 +++---
 kernel/trace/trace.c            | 5 +++++
 kernel/trace/trace.h            | 1 -
 kernel/trace/trace_event_perf.c | 8 ++++----
 kernel/tracepoint.c             | 5 +++++
 10 files changed, 39 insertions(+), 8 deletions(-)

^ permalink raw reply	[flat|nested] 34+ messages in thread

end of thread, other threads:[~2017-05-18  3:58 UTC | newest]

Thread overview: 34+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-05-12 17:15 [RFC][PATCH 0/5] perf/tracing/cpuhotplug: Fix locking order Steven Rostedt
2017-05-12 17:15 ` [RFC][PATCH 1/5] tracing: Make sure RCU is watching before calling a stack trace Steven Rostedt
2017-05-12 18:25   ` Paul E. McKenney
2017-05-12 18:36     ` Steven Rostedt
2017-05-12 18:50       ` Paul E. McKenney
2017-05-12 20:05         ` Steven Rostedt
2017-05-12 20:31           ` Paul E. McKenney
2017-05-17 16:46             ` Steven Rostedt
2017-05-12 17:15 ` [RFC][PATCH 2/5] cpu-hotplug: Allow get_online_cpus() to nest Steven Rostedt
2017-05-12 18:35   ` Paul E. McKenney
2017-05-12 18:40     ` Steven Rostedt
2017-05-12 18:52       ` Paul E. McKenney
2017-05-12 22:15   ` Thomas Gleixner
2017-05-13  0:23     ` Steven Rostedt
2017-05-12 17:15 ` [RFC][PATCH 3/5] kprobes: Take get_online_cpus() before taking jump_label_lock() Steven Rostedt
2017-05-12 18:39   ` Paul E. McKenney
2017-05-12 18:44     ` Steven Rostedt
2017-05-17 17:50   ` Masami Hiramatsu
2017-05-12 17:15 ` [RFC][PATCH 4/5] tracepoints: Grab get_online_cpus() before taking tracepoints_mutex Steven Rostedt
2017-05-12 17:15 ` [RFC][PATCH 5/5] perf: Grab event_mutex before taking get_online_cpus() Steven Rostedt
2017-05-12 18:13 ` [RFC][PATCH 0/5] perf/tracing/cpuhotplug: Fix locking order Paul E. McKenney
2017-05-12 19:49 ` Peter Zijlstra
2017-05-12 20:14   ` Steven Rostedt
2017-05-12 21:34   ` Steven Rostedt
2017-05-13 13:40     ` Paul E. McKenney
2017-05-15  9:03       ` Peter Zijlstra
2017-05-15 18:40         ` Paul E. McKenney
2017-05-16  8:19           ` Peter Zijlstra
2017-05-16 12:46             ` Paul E. McKenney
2017-05-16 14:27               ` Paul E. McKenney
2017-05-17 10:40                 ` Peter Zijlstra
2017-05-17 14:55                   ` Paul E. McKenney
2017-05-18  3:58                     ` Paul E. McKenney
2017-05-15 19:06   ` Steven Rostedt

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).