All of lore.kernel.org
 help / color / mirror / Atom feed
From: Adrian Hunter <adrian.hunter@intel.com>
To: Arnaldo Carvalho de Melo <acme@kernel.org>
Cc: Jiri Olsa <jolsa@redhat.com>, Andi Kleen <ak@linux.intel.com>,
	linux-kernel@vger.kernel.org
Subject: [PATCH V2 08/12] perf intel-pt: Use itrace debug log flags to suppress some messages
Date: Fri, 10 Jul 2020 18:11:00 +0300	[thread overview]
Message-ID: <20200710151104.15137-9-adrian.hunter@intel.com> (raw)
In-Reply-To: <20200710151104.15137-1-adrian.hunter@intel.com>

The "d" option may be followed by flags which affect what debug messages
will or will not be logged. Each flag must be preceded by either '+' or
'-'. The flags support by Intel PT are:
		-a	Suppress logging of perf events

Suppressing perf events is useful for decreasing the size of the log.

Signed-off-by: Adrian Hunter <adrian.hunter@intel.com>
---
 tools/perf/Documentation/perf-intel-pt.txt |  5 ++++-
 tools/perf/util/intel-pt.c                 | 17 ++++++++++-------
 2 files changed, 14 insertions(+), 8 deletions(-)

diff --git a/tools/perf/Documentation/perf-intel-pt.txt b/tools/perf/Documentation/perf-intel-pt.txt
index 20ac592a2641..d22dead7bbe0 100644
--- a/tools/perf/Documentation/perf-intel-pt.txt
+++ b/tools/perf/Documentation/perf-intel-pt.txt
@@ -882,7 +882,10 @@ For example, for errors but not overflow or data lost errors:
 
 The "d" option will cause the creation of a file "intel_pt.log" containing all
 decoded packets and instructions.  Note that this option slows down the decoder
-and that the resulting file may be very large.
+and that the resulting file may be very large.  The "d" option may be followed
+by flags which affect what debug messages will or will not be logged. Each flag
+must be preceded by either '+' or '-'. The flags support by Intel PT are:
+		-a	Suppress logging of perf events
 
 In addition, the period of the "instructions" event can be specified. e.g.
 
diff --git a/tools/perf/util/intel-pt.c b/tools/perf/util/intel-pt.c
index a1cb6a284a2b..34caf24998dd 100644
--- a/tools/perf/util/intel-pt.c
+++ b/tools/perf/util/intel-pt.c
@@ -249,6 +249,11 @@ static void intel_pt_dump_sample(struct perf_session *session,
 	intel_pt_dump(pt, sample->aux_sample.data, sample->aux_sample.size);
 }
 
+static bool intel_pt_log_events(struct intel_pt *pt)
+{
+	return !(pt->synth_opts.log_minus_flags & AUXTRACE_LOG_FLG_ALL_PERF_EVTS);
+}
+
 static int intel_pt_do_fix_overlap(struct intel_pt *pt, struct auxtrace_buffer *a,
 				   struct auxtrace_buffer *b)
 {
@@ -2585,10 +2590,6 @@ static int intel_pt_context_switch(struct intel_pt *pt, union perf_event *event,
 		return -EINVAL;
 	}
 
-	intel_pt_log("context_switch: cpu %d pid %d tid %d time %"PRIu64" tsc %#"PRIx64"\n",
-		     cpu, pid, tid, sample->time, perf_time_to_tsc(sample->time,
-		     &pt->tc));
-
 	ret = intel_pt_sync_switch(pt, cpu, tid, sample->time);
 	if (ret <= 0)
 		return ret;
@@ -2745,9 +2746,11 @@ static int intel_pt_process_event(struct perf_session *session,
 	if (!err && event->header.type == PERF_RECORD_TEXT_POKE)
 		err = intel_pt_text_poke(pt, event);
 
-	intel_pt_log("event %u: cpu %d time %"PRIu64" tsc %#"PRIx64" ",
-		     event->header.type, sample->cpu, sample->time, timestamp);
-	intel_pt_log_event(event);
+	if (intel_pt_enable_logging && intel_pt_log_events(pt)) {
+		intel_pt_log("event %u: cpu %d time %"PRIu64" tsc %#"PRIx64" ",
+			     event->header.type, sample->cpu, sample->time, timestamp);
+		intel_pt_log_event(event);
+	}
 
 	return err;
 }
-- 
2.17.1


  parent reply	other threads:[~2020-07-10 15:18 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-07-10 15:10 [PATCH V2 00/12] perf intel-pt: Add support for decoding FUP/TIP only Adrian Hunter
2020-07-10 15:10 ` [PATCH V2 01/12] perf intel-pt: Fix FUP packet state Adrian Hunter
2020-07-10 15:10 ` [PATCH V2 02/12] perf intel-pt: Fix duplicate branch after CBR Adrian Hunter
2020-07-10 15:10 ` [PATCH V2 03/12] perf tools: Improve aux_output not supported error Adrian Hunter
2020-07-10 15:10 ` [PATCH V2 04/12] perf auxtrace: Add missing itrace options to help text Adrian Hunter
2020-07-10 15:10 ` [PATCH V2 05/12] perf auxtrace: Add optional error flags to the itrace 'e' option Adrian Hunter
2020-07-10 15:10 ` [PATCH V2 06/12] perf intel-pt: Use itrace error flags to suppress some errors Adrian Hunter
2020-07-10 15:10 ` [PATCH V2 07/12] perf auxtrace: Add optional log flags to the itrace 'd' option Adrian Hunter
2020-07-10 15:11 ` Adrian Hunter [this message]
2020-07-10 15:11 ` [PATCH V2 09/12] perf intel-pt: Time filter logged perf events Adrian Hunter
2020-07-10 15:11 ` [PATCH V2 10/12] perf auxtrace: Add itrace 'q' option for quicker, less detailed decoding Adrian Hunter
2020-07-20 22:27   ` Andi Kleen
2020-07-10 15:11 ` [PATCH V2 11/12] perf intel-pt: Add support for decoding FUP/TIP only Adrian Hunter
2020-07-10 15:11 ` [PATCH V2 12/12] perf intel-pt: Add support for decoding PSB+ only Adrian Hunter
2020-07-20 22:25   ` Andi Kleen
2020-08-06 12:03     ` Arnaldo Carvalho de Melo
2020-08-04 13:34 ` [PATCH V2 00/12] perf intel-pt: Add support for decoding FUP/TIP only Adrian Hunter
2020-08-04 14:59   ` Arnaldo Carvalho de Melo

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20200710151104.15137-9-adrian.hunter@intel.com \
    --to=adrian.hunter@intel.com \
    --cc=acme@kernel.org \
    --cc=ak@linux.intel.com \
    --cc=jolsa@redhat.com \
    --cc=linux-kernel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.