linux-kernel.vger.kernel.org archive mirror
 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>,
	linux-kernel@vger.kernel.org,
	Stephane Eranian <eranian@google.com>
Subject: [PATCH 4/8] perf jit: Let jit_process() return errors
Date: Thu,  3 Mar 2016 13:50:52 +0200	[thread overview]
Message-ID: <1457005856-6143-5-git-send-email-adrian.hunter@intel.com> (raw)
In-Reply-To: <1457005856-6143-1-git-send-email-adrian.hunter@intel.com>

In preparation for moving clockid validation into jit_process().

Previously a return value of zero meant the processing had been
done and non-zero meant either the processing was not done
(i.e. not the jitdump file mmap event) or an error occurred.

Change it so that zero means the processing was not done, one
means the processing was done and successful, and negative
values are an error.

Signed-off-by: Adrian Hunter <adrian.hunter@intel.com>
---
 tools/perf/builtin-inject.c | 16 ++++++++++++----
 tools/perf/util/jitdump.c   |  6 ++++--
 2 files changed, 16 insertions(+), 6 deletions(-)

diff --git a/tools/perf/builtin-inject.c b/tools/perf/builtin-inject.c
index 29dfe68b2fb1..1635533921e8 100644
--- a/tools/perf/builtin-inject.c
+++ b/tools/perf/builtin-inject.c
@@ -253,12 +253,16 @@ static int perf_event__jit_repipe_mmap(struct perf_tool *tool,
 {
 	struct perf_inject *inject = container_of(tool, struct perf_inject, tool);
 	u64 n = 0;
+	int ret;
 
 	/*
 	 * if jit marker, then inject jit mmaps and generate ELF images
 	 */
-	if (!jit_process(inject->session, &inject->output, machine,
-			 event->mmap.filename, sample->pid, &n)) {
+	ret = jit_process(inject->session, &inject->output, machine,
+			  event->mmap.filename, sample->pid, &n);
+	if (ret < 0)
+		return ret;
+	if (ret) {
 		inject->bytes_written += n;
 		return 0;
 	}
@@ -287,12 +291,16 @@ static int perf_event__jit_repipe_mmap2(struct perf_tool *tool,
 {
 	struct perf_inject *inject = container_of(tool, struct perf_inject, tool);
 	u64 n = 0;
+	int ret;
 
 	/*
 	 * if jit marker, then inject jit mmaps and generate ELF images
 	 */
-	if (!jit_process(inject->session, &inject->output, machine,
-			  event->mmap2.filename, sample->pid, &n)) {
+	ret = jit_process(inject->session, &inject->output, machine,
+			  event->mmap2.filename, sample->pid, &n);
+	if (ret < 0)
+		return ret;
+	if (ret) {
 		inject->bytes_written += n;
 		return 0;
 	}
diff --git a/tools/perf/util/jitdump.c b/tools/perf/util/jitdump.c
index 99fa5eee9fe0..bd9e44f9fff2 100644
--- a/tools/perf/util/jitdump.c
+++ b/tools/perf/util/jitdump.c
@@ -647,7 +647,7 @@ jit_process(struct perf_session *session,
 	 * first, detect marker mmap (i.e., the jitdump mmap)
 	 */
 	if (jit_detect(filename, pid))
-		return -1;
+		return 0;
 
 	memset(&jd, 0, sizeof(jd));
 
@@ -665,8 +665,10 @@ jit_process(struct perf_session *session,
 	*nbytes = 0;
 
 	ret = jit_inject(&jd, filename);
-	if (!ret)
+	if (!ret) {
 		*nbytes = jd.bytes_written;
+		ret = 1;
+	}
 
 	return ret;
 }
-- 
1.9.1

  parent reply	other threads:[~2016-03-03 11:54 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-03-03 11:50 [PATCH 0/8] perf tools: Add Intel PT support for jitdump Adrian Hunter
2016-03-03 11:50 ` [PATCH 1/8] perf inject: Hit all DSOs for AUX data in JIT and other cases Adrian Hunter
2016-03-08 10:30   ` [tip:perf/core] " tip-bot for Adrian Hunter
2016-03-03 11:50 ` [PATCH 2/8] perf session: Simplify tool stubs Adrian Hunter
2016-03-08  8:38   ` [PATCH V2 " Adrian Hunter
2016-03-08 10:30   ` [tip:perf/core] " tip-bot for Adrian Hunter
2016-03-03 11:50 ` [PATCH 3/8] perf tools: Add time conversion event Adrian Hunter
2016-03-08  8:38   ` [PATCH V2 " Adrian Hunter
2016-03-31  6:33     ` Adrian Hunter
2016-03-31 13:53       ` Arnaldo Carvalho de Melo
2016-04-06  7:07     ` [tip:perf/core] " tip-bot for Adrian Hunter
2016-03-03 11:50 ` Adrian Hunter [this message]
2016-03-08 10:30   ` [tip:perf/core] perf jit: Let jit_process() return errors tip-bot for Adrian Hunter
2016-03-03 11:50 ` [PATCH 5/8] perf jit: Move clockid validation Adrian Hunter
2016-03-08  8:38   ` [PATCH V2 " Adrian Hunter
2016-03-08 10:31   ` [tip:perf/core] " tip-bot for Adrian Hunter
2016-03-03 11:50 ` [PATCH 6/8] perf jit: Add support for using TSC as a timestamp Adrian Hunter
2016-03-08  8:38   ` [PATCH V2 " Adrian Hunter
2016-04-01  3:49     ` [PATCH] perf tools: Fix build errors on tsc functions for archs other than x86 He Kuang
2016-04-01  7:13       ` Adrian Hunter
2016-04-01 13:13       ` Arnaldo Carvalho de Melo
2016-04-01 13:19         ` Hekuang
2016-04-01 13:24         ` Arnaldo Carvalho de Melo
2016-04-01 13:39           ` Adrian Hunter
2016-04-06  7:08       ` [tip:perf/core] perf jit: Add support for using TSC as a timestamp tip-bot for Adrian Hunter
2016-03-03 11:50 ` [PATCH 7/8] perf intel-pt/bts: Define JITDUMP_USE_ARCH_TIMESTAMP Adrian Hunter
2016-03-08  8:38   ` [PATCH V2 " Adrian Hunter
2016-04-06  7:08     ` [tip:perf/core] " tip-bot for Adrian Hunter
2016-03-03 11:50 ` [PATCH 8/8] perf tools: Use 64-bit shifts with (TSC) time conversion Adrian Hunter
2016-03-08 10:31   ` [tip:perf/core] " tip-bot for Adrian Hunter
2016-03-08  8:49 ` [PATCH 0/8] perf tools: Add Intel PT support for jitdump Adrian Hunter

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=1457005856-6143-5-git-send-email-adrian.hunter@intel.com \
    --to=adrian.hunter@intel.com \
    --cc=acme@kernel.org \
    --cc=eranian@google.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).