perf record: Add new -I option to sample interrupted machine state
authorStephane Eranian <eranian@google.com>
Wed, 24 Sep 2014 11:48:41 +0000 (13:48 +0200)
committerIngo Molnar <mingo@kernel.org>
Sun, 16 Nov 2014 10:42:02 +0000 (11:42 +0100)
Add -I/--intr-regs option to capture machine state registers at
interrupt.

Add the corresponding man page description

Signed-off-by: Stephane Eranian <eranian@google.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Link: http://lkml.kernel.org/r/1411559322-16548-6-git-send-email-eranian@google.com
Cc: cebbert.lkml@gmail.com
Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: Anshuman Khandual <khandual@linux.vnet.ibm.com>
Cc: Arnaldo Carvalho de Melo <acme@kernel.org>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Masanari Iida <standby24x7@gmail.com>
Signed-off-by: Ingo Molnar <mingo@kernel.org>
tools/perf/Documentation/perf-record.txt
tools/perf/builtin-record.c

index 398f8d53bd6d39629071f59dab9ccba4747fc30b..af9a54ece0245fe9c340a0172438e18883b536d3 100644 (file)
@@ -214,6 +214,12 @@ if combined with -a or -C options.
 After starting the program, wait msecs before measuring. This is useful to
 filter out the startup phase of the program, which is often very different.
 
 After starting the program, wait msecs before measuring. This is useful to
 filter out the startup phase of the program, which is often very different.
 
+-I::
+--intr-regs::
+Capture machine state (registers) at interrupt, i.e., on counter overflows for
+each sample. List of captured registers depends on the architecture. This option
+is off by default.
+
 SEE ALSO
 --------
 linkperf:perf-stat[1], linkperf:perf-list[1]
 SEE ALSO
 --------
 linkperf:perf-stat[1], linkperf:perf-list[1]
index 582c4da155ea98c5ead221a0531e69034ccad9b6..8648c6d3003ddb3d64c54142ece0f56b1e30e813 100644 (file)
@@ -811,6 +811,8 @@ struct option __record_options[] = {
                    "sample transaction flags (special events only)"),
        OPT_BOOLEAN(0, "per-thread", &record.opts.target.per_thread,
                    "use per-thread mmaps"),
                    "sample transaction flags (special events only)"),
        OPT_BOOLEAN(0, "per-thread", &record.opts.target.per_thread,
                    "use per-thread mmaps"),
+       OPT_BOOLEAN('I', "intr-regs", &record.opts.sample_intr_regs,
+                   "Sample machine registers on interrupt"),
        OPT_END()
 };
 
        OPT_END()
 };