From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932548AbcH2G5Z (ORCPT ); Mon, 29 Aug 2016 02:57:25 -0400 Received: from mail-pf0-f173.google.com ([209.85.192.173]:36089 "EHLO mail-pf0-f173.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1756408AbcH2G47 (ORCPT ); Mon, 29 Aug 2016 02:56:59 -0400 From: Binoy Jayan To: "Steven Rostedt (Red Hat)" Cc: Ingo Molnar , Daniel Wagner , Arnd Bergmann , linaro-kernel@lists.linaro.org, Carsten Emde , linux-kernel@vger.kernel.org, Masami , Binoy Jayan Subject: [PATCH v3 0/3] *** Latency histograms - IRQSOFF,PREEMPTOFF *** Date: Mon, 29 Aug 2016 12:25:25 +0530 Message-Id: <1472453728-577-1-git-send-email-binoy.jayan@linaro.org> X-Mailer: git-send-email 1.8.2.1 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi, Thank you Steven and Daniel for reviewing v1 and providing suggestions. These set of patches [v3] capture latency events caused by interrupts and premption disabled in kernel. The patches are based on the hist trigger feature developed by Tom Zanussi. 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 v2 as per comments from Daniel - Use single tracepoint for irq/preempt/critical timings by introducing a trace type field to differentiate trace type in the same tracepoint. The suspicious RCU usage error was fixed and made part of Daniel's bugfix. 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 | 68 +++++++++++++++++++++++++++++++++++++ kernel/time/hrtimer.c | 39 +++++++++++++++++++++ kernel/trace/trace_events_filter.c | 4 +-- kernel/trace/trace_events_trigger.c | 6 ++-- kernel/trace/trace_irqsoff.c | 45 +++++++++++++++++++++++- 8 files changed, 197 insertions(+), 8 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