Hi, Thank you Daniel for reviewing v3 throroughly. These set of patches [v4] capture latency events caused by interrupts and premption disabled in kernel. The patches are based on the hist trigger feature developed by Tom Zanussi.
v3: https://lkml.org/lkml/2016/8/29/50 v2: https://lkml.org/lkml/2016/8/24/296 Mount Debugfs mount -t debugfs nodev /sys/kernel/debug Examples of triggers: echo 'hist:key=latency.log2:val=hitcount:sort=latency' > /sys/kernel/debug/tracing/events/latency/latency_preempt/trigger echo 'hist:key=cpu,latency:val=hitcount:sort=latency if cpu==1' > /sys/kernel/debug/tracing/events/latency/latency_preempt/trigger echo 'hist:key=ltype,cpu:val=latency:sort=ltype,cpu if ltype==0' > /sys/kernel/debug/tracing/events/latency/latency_preempt/trigger Histogram output: cat /sys/kernel/debug/tracing/events/latency/latency_preempt/hist Changes from v3 as per comments from Daniel - A few coding style changes - Dropped the field 'cpu' from the event format fields. TODO: 1. perf interface. Not sure if this is needed 2. Latency histograms - process wakeup latency Binoy Binoy Jayan (2): tracing: Add trace_irqsoff tracepoints tracing: Histogram for missed timer offsets Daniel Wagner (1): tracing: Deference pointers without RCU checks include/linux/hrtimer.h | 3 ++ include/linux/rculist.h | 36 +++++++++++++++++++++ include/linux/tracepoint.h | 4 +-- include/trace/events/latency.h | 64 +++++++++++++++++++++++++++++++++++++ kernel/time/hrtimer.c | 40 +++++++++++++++++++++++ kernel/trace/trace_events_filter.c | 4 +-- kernel/trace/trace_events_trigger.c | 6 ++-- kernel/trace/trace_irqsoff.c | 42 ++++++++++++++++++++++++ 8 files changed, 192 insertions(+), 7 deletions(-) create mode 100644 include/trace/events/latency.h -- The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, a Linux Foundation Collaborative Project