[PATCH v4 0/4] Some new features for the latency tracers
From: Viktor Rosendahl
Date: Fri May 17 2019 - 16:36:47 EST
Hello all,
Changes in v4:
- [PATCH 1/4]:
* Improved support for multiple active trace instances by storing entries
that cannot be notified immediately in a linked list instead of a
single pointer. With multiple instances this could happen.
* Register trace_maxlat_fsnotify_init() with late_initcall_sync().
Previously it was piggy backed on tracer_init_tracefs() and it got
called more than once.
* Added some comments.
- [PATCH 3/4]:
* Some of the code was incorrectly added in the next patch. Improved
commit message.
- [PATCH 4/4]:
* Some code from the previous patch was incorrectly included here.
This series is meant to address two issues with the latency tracing.
The first three patches provide a method to trace latencies that always
occurs very close to each other and to differentiate between them, in spite
of the fact that the latency tracers work in overwrite mode.
[PATCH 1/4] This implement fs notification for tracing_max_latency. It
makes it possible for userspace to detect when a new latency has been
detected.
[PATCH 2/4] This extends the preemptirq_delay_test module so that it can be
used to generate a burst of closely occurring latencies.
[PATCH 3/4] This adds a user space program to the tools directory that
utilizes the fs notification feature and a randomized algorithm to print out
any of the latencies in a burst with approximately equal probability.
The last patch is not directly connected but doesn't apply cleanly on
its own:
[PATCH 4/4] This adds the option console-latency to the trace options. This
makes it possible to enable tracing of console latencies.
best regards,
Viktor
Viktor Rosendahl (4):
ftrace: Implement fs notification for tracing_max_latency
preemptirq_delay_test: Add the burst feature and a sysfs trigger
Add the latency-collector to tools
ftrace: Add an option for tracing console latencies
include/linux/irqflags.h | 21 +
include/trace/events/power.h | 40 +
include/trace/events/sched.h | 40 +
kernel/printk/printk.c | 6 +-
kernel/sched/core.c | 2 +
kernel/sched/idle.c | 2 +
kernel/trace/Kconfig | 6 +-
kernel/trace/preemptirq_delay_test.c | 145 ++-
kernel/trace/trace.c | 168 +++-
kernel/trace/trace.h | 13 +
kernel/trace/trace_hwlat.c | 4 +-
kernel/trace/trace_irqsoff.c | 12 +
tools/Makefile | 14 +-
tools/trace/Makefile | 20 +
tools/trace/latency-collector.c | 1211 ++++++++++++++++++++++++++
15 files changed, 1671 insertions(+), 33 deletions(-)
create mode 100644 tools/trace/Makefile
create mode 100644 tools/trace/latency-collector.c
--
2.17.1