LKML Archive on lore.kernel.org
help / color / mirror / Atom feed
* [PATCH RFC v6 0/5] Centralize and unify usage of preempt/irq tracepoints
@ 2018-05-07 20:41 Joel Fernandes
  2018-05-07 20:41 ` [PATCH RFC v6 1/5] srcu: Add notrace variants of srcu_read_{lock,unlock} Joel Fernandes
                   ` (4 more replies)
  0 siblings, 5 replies; 15+ messages in thread
From: Joel Fernandes @ 2018-05-07 20:41 UTC (permalink / raw)
  To: linux-kernel
  Cc: Joel Fernandes (Google),
	Steven Rostedt, Peter Zilstra, Ingo Molnar, Mathieu Desnoyers,
	Tom Zanussi, Namhyung Kim, Thomas Glexiner, Boqun Feng,
	Paul McKenney, Frederic Weisbecker, Randy Dunlap,
	Masami Hiramatsu, Fenguang Wu, Baohong Liu, Vedang Patel,
	kernel-team

From: "Joel Fernandes (Google)" <joel@joelfernandes.org>

This is the next revision of preempt/irq tracepoint centralization and
unified usage across the kernel.
The preempt/irq tracepoints exist but not everything in the kernel is
using it. This makes things not work simultaneously (for ex, only either
lockdep or irqsoff events can be used at a time). This series is an attempt to
solve that, and also results in a nice clean up of kernel in general.
Several ifdefs are simpler, and the design is more unified and better.
Also as a result of this, we also speeded performance all rcuidle
tracepoints since their handling is simpler.

No major changes since v5. Just some spelling errors, small refactoring
etc. Also I removed the softirq bug fix from this series and submitted it
separately.

I am also writing a tracepoint self-test that runs various tests, along
with some documentation. I am planning to submit that separately since
it'll take some time to complete them and so that these can go in first.
See [1] for a preview of the tests I have so far (its early stage).

v6:
- fixed lockdep_recursion undefined issue, now using
  lockdep_recursing().
- minor patch clean up

v5:
- Fixed performance issues due to rcu-idle handling

Joel Fernandes (Google) (4):
  srcu: Add notrace variant of srcu_dereference
  trace/irqsoff: Split reset into separate functions
  tracepoint: Make rcuidle tracepoint callers use SRCU
  tracing: Centralize preemptirq tracepoints and unify their usage

Paul McKenney (1):
  srcu: Add notrace variants of srcu_read_{lock,unlock}

 include/linux/ftrace.h            |  11 +-
 include/linux/irqflags.h          |  11 +-
 include/linux/lockdep.h           |   8 +-
 include/linux/preempt.h           |   2 +-
 include/linux/srcu.h              |  22 +++
 include/linux/tracepoint.h        |  46 +++++-
 include/trace/events/preemptirq.h |  23 +--
 init/main.c                       |   5 +-
 kernel/locking/lockdep.c          |  35 ++---
 kernel/sched/core.c               |   2 +-
 kernel/trace/Kconfig              |  22 ++-
 kernel/trace/Makefile             |   2 +-
 kernel/trace/trace_irqsoff.c      | 235 +++++++++---------------------
 kernel/trace/trace_preemptirq.c   |  71 +++++++++
 kernel/tracepoint.c               |  15 +-
 15 files changed, 282 insertions(+), 228 deletions(-)
 create mode 100644 kernel/trace/trace_preemptirq.c

[1] tracepoint-selftests: https://tinyurl.com/tptests-1

Cc: Steven Rostedt <rostedt@goodmis.org>
Cc: Peter Zilstra <peterz@infradead.org>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Cc: Tom Zanussi <tom.zanussi@linux.intel.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Thomas Glexiner <tglx@linutronix.de>
Cc: Boqun Feng <boqun.feng@gmail.com>
Cc: Paul McKenney <paulmck@linux.vnet.ibm.com>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Randy Dunlap <rdunlap@infradead.org>
Cc: Masami Hiramatsu <mhiramat@kernel.org>
Cc: Fenguang Wu <fengguang.wu@intel.com>
Cc: Baohong Liu <baohong.liu@intel.com>
Cc: Vedang Patel <vedang.patel@intel.com>
Cc: kernel-team@android.com
Signed-off-by: Joel Fernandes (Google) <joel@joelfernandes.org>
-- 
2.17.0.441.gb46fe60e1d-goog

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

end of thread, other threads:[~2018-05-08 21:11 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-05-07 20:41 [PATCH RFC v6 0/5] Centralize and unify usage of preempt/irq tracepoints Joel Fernandes
2018-05-07 20:41 ` [PATCH RFC v6 1/5] srcu: Add notrace variants of srcu_read_{lock,unlock} Joel Fernandes
2018-05-07 20:41 ` [PATCH RFC v6 2/5] srcu: Add notrace variant of srcu_dereference Joel Fernandes
2018-05-07 20:41 ` [PATCH RFC v6 3/5] trace/irqsoff: Split reset into separate functions Joel Fernandes
2018-05-07 20:41 ` [PATCH RFC v6 4/5] tracepoint: Make rcuidle tracepoint callers use SRCU Joel Fernandes
2018-05-07 21:05   ` Mathieu Desnoyers
2018-05-07 21:46     ` Joel Fernandes
2018-05-08  0:37       ` Mathieu Desnoyers
2018-05-08 21:10         ` Joel Fernandes
2018-05-07 21:08   ` Paul E. McKenney
2018-05-07 21:17     ` Mathieu Desnoyers
2018-05-07 21:45     ` Joel Fernandes
2018-05-07 21:55       ` Paul E. McKenney
2018-05-07 23:37         ` Joel Fernandes
2018-05-07 20:41 ` [PATCH RFC v6 5/5] tracing: Centralize preemptirq tracepoints and unify their usage Joel Fernandes

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).