tracing: Make a snapshot feature available from userspace
authorHiraku Toyooka <hiraku.toyooka.gu@hitachi.com>
Wed, 26 Dec 2012 02:53:00 +0000 (11:53 +0900)
committerSteven Rostedt <rostedt@goodmis.org>
Wed, 30 Jan 2013 16:02:06 +0000 (11:02 -0500)
commitdebdd57f5145f3c6a4b3f8d0126abd1a2def7fc6
tree8dca457fbccaf115c48fdb9fb6ee6a9469b8b6de
parent2fd196ec1eab2623096e7fc7e6f3976160392bce
tracing: Make a snapshot feature available from userspace

Ftrace has a snapshot feature available from kernel space and
latency tracers (e.g. irqsoff) are using it. This patch enables
user applictions to take a snapshot via debugfs.

Add "snapshot" debugfs file in "tracing" directory.

  snapshot:
    This is used to take a snapshot and to read the output of the
    snapshot.

     # echo 1 > snapshot

    This will allocate the spare buffer for snapshot (if it is
    not allocated), and take a snapshot.

     # cat snapshot

    This will show contents of the snapshot.

     # echo 0 > snapshot

    This will free the snapshot if it is allocated.

    Any other positive values will clear the snapshot contents if
    the snapshot is allocated, or return EINVAL if it is not allocated.

Link: http://lkml.kernel.org/r/20121226025300.3252.86850.stgit@liselsia
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: David Sharp <dhsharp@google.com>
Signed-off-by: Hiraku Toyooka <hiraku.toyooka.gu@hitachi.com>
[
   Fixed irqsoff selftest and also a conflict with a change
   that fixes the update_max_tr.
]
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
include/linux/ftrace_event.h
kernel/trace/Kconfig
kernel/trace/trace.c
kernel/trace/trace.h