Skip to content

Improve preemptirq tracepoint usage

Joel Fernandes lkml oe-lkp 2 versions – In review

Get series with b4
b4 am [email protected]

Versions newest first · linked by author and title

  1. v2 Latest2 patches 1 replyIn review
  2. v12 patches 2 repliesSuperseded

Changes in v2 from the cover letter

- Make PROVE_LOCKING depend on FTRACE since PROVE_LOCKING needs to register hooks in this series which needs PREEMPTIRQ_TRACEPOINTS.

Patches in v2 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/2tracing: Improve design of preemptirq tracepoints and its usersinclude/linux/ftrace.h include/linux/irqflags.h include/linux/lockdep.h +10 more+171 -2161 reply
2/2tracepoint: Prevent false-positive lockdep warningsinclude/linux/tracepoint.h+21 -20 replies

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v2 yet.

Read the v2 thread

Cover letter [PATCH v2 0/2] Improve preemptirq tracepoint usage

Hi,
These patches improve the design of preemptirq tracepoints, clean up several of the ifdeffery and overall makes the feature configuration cleaner and less confusing. It also uses the tracepoints infra for the lockdep hooks for irqs on/off thus making a central point for all users of the event (kernel/trace/trace_preemptirq.c). Patches based on v4.16-rc5.

Changes since v1:
- Make PROVE_LOCKING depend on FTRACE since PROVE_LOCKING needs to register hooks in this series which needs PREEMPTIRQ_TRACEPOINTS.

Changes since RFC [1]:
- handle case where lockdep warnings occur in tracepoint code (2/2)
- protect tracepoint probe registration in lockdep init by ifdef.

Joel Fernandes (2):
tracing: Improve design of preemptirq tracepoints and its users
tracepoint: Prevent false-positive lockdep warnings

[1] https://patchwork.kernel.org/patch/10202163/

 include/linux/ftrace.h            |  11 +-
 include/linux/irqflags.h          |  11 +-
 include/linux/lockdep.h           |   6 +-
 include/linux/preempt.h           |   2 +-
 include/linux/tracepoint.h        |  23 +++-
 include/trace/events/preemptirq.h |  23 ++--
 init/main.c                       |   2 +-
 kernel/locking/lockdep.c          |  31 ++---
 kernel/sched/core.c               |   2 +-
 kernel/trace/Kconfig              |  19 ++-
 kernel/trace/Makefile             |   2 +-
 kernel/trace/trace_irqsoff.c      | 206 +++++++-----------------------
 kernel/trace/trace_preemptirq.c   |  70 ++++++++++
 lib/Kconfig.debug                 |   2 +-
 14 files changed, 192 insertions(+), 218 deletions(-)
 create mode 100644 kernel/trace/trace_preemptirq.c
Cc Steven Rostedt <[email protected]>
Cc Peter Zilstra <[email protected]>
Cc Ingo Molnar <[email protected]>
Cc Mathieu Desnoyers <[email protected]>
Cc Tom Zanussi <[email protected]>
Cc Namhyung Kim <[email protected]>
Signature · 1 line
2.16.2.804.g6dcf76e118-goog