mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Namhyung Kim <namhyung@kernel.org>
To: Arnaldo Carvalho de Melo <acme@ghostprotocols.net>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>,
	Paul Mackerras <paulus@samba.org>, Ingo Molnar <mingo@kernel.org>,
	Namhyung Kim <namhyung.kim@lge.com>,
	LKML <linux-kernel@vger.kernel.org>,
	Steven Rostedt <rostedt@goodmis.org>,
	Frederic Weisbecker <fweisbec@gmail.com>
Subject: [PATCH 05/10] perf util: Parse header_page to get proper long size
Date: Mon, 15 Apr 2013 14:11:33 +0900	[thread overview]
Message-ID: <1366002698-10728-6-git-send-email-namhyung@kernel.org> (raw)
In-Reply-To: <1366002698-10728-1-git-send-email-namhyung@kernel.org>

From: Namhyung Kim <namhyung.kim@lge.com>

The header_page file describes the format of the ring buffer page
which is used by ftrace (not perf).  And size of "commit" field (I
guess it's older name was 'size') represents the real size of long
type used for kernel.  So update the pevent's long size.

Signed-off-by: Namhyung Kim <namhyung@kernel.org>
---
 tools/perf/util/trace-event-read.c | 19 ++++++++++++++++++-
 1 file changed, 18 insertions(+), 1 deletion(-)

diff --git a/tools/perf/util/trace-event-read.c b/tools/perf/util/trace-event-read.c
index fa45fca2a2d3..b4e8bdd13671 100644
--- a/tools/perf/util/trace-event-read.c
+++ b/tools/perf/util/trace-event-read.c
@@ -212,6 +212,7 @@ static int read_ftrace_printk(struct pevent *pevent)
 static int read_header_files(struct pevent *pevent)
 {
 	unsigned long long size;
+	char *header_page;
 	char buf[BUFSIZ];
 	int ret = 0;
 
@@ -224,7 +225,23 @@ static int read_header_files(struct pevent *pevent)
 	}
 
 	size = read8(pevent);
-	skip(size);
+
+	if (do_read(buf, size) < 0)
+		return -1;
+
+	header_page = malloc(size);
+	if (header_page == NULL)
+		return -1;
+
+	if (!pevent_parse_header_page(pevent, header_page, size,
+				      pevent_get_long_size(pevent))) {
+		/*
+		 * The commit field in the page is of type long,
+		 * use that instead, since it represents the kernel.
+		 */
+		pevent_set_long_size(pevent, pevent->header_page_size_size);
+	}
+	free(header_page);
 
 	if (do_read(buf, 13) < 0)
 		return -1;
-- 
1.7.11.7


  parent reply	other threads:[~2013-04-15  5:13 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-04-15  5:11 [PATCHSET 00/10] perf util: More cleanups on tracepoint handling Namhyung Kim
2013-04-15  5:11 ` [PATCH 01/10] perf util: Save page size in a trace file to pevent Namhyung Kim
2013-04-15  5:11 ` [PATCH 02/10] perf util: Save long size of traced system Namhyung Kim
2013-04-15  5:11 ` [PATCH 03/10] perf util: Make file/host_bigendian variable local Namhyung Kim
2013-04-15  5:11 ` [PATCH 04/10] perf util: Skip reading header_event file Namhyung Kim
2013-04-15  5:11 ` Namhyung Kim [this message]
2013-04-17  3:59   ` [PATCH v2 05/10] perf util: Parse header_page to get proper long size Namhyung Kim
2013-04-15  5:11 ` [PATCH 06/10] perf util: Get rid of unused header_page_* variables Namhyung Kim
2013-04-15  5:11 ` [PATCH 07/10] perf util: Move latency_format variable to builtin-script.c Namhyung Kim
2013-04-15  5:11 ` [PATCH 08/10] perf util: Rename read_*() functions in trace-event-info.c Namhyung Kim
2013-04-15  5:11 ` [PATCH 09/10] perf util: No need to call read_trace_init() in tracing_data_header() Namhyung Kim
2013-04-15  5:11 ` [PATCH 10/10] perf util: Remove unused enum and macro in trace-event.h Namhyung Kim

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=1366002698-10728-6-git-send-email-namhyung@kernel.org \
    --to=namhyung@kernel.org \
    --cc=a.p.zijlstra@chello.nl \
    --cc=acme@ghostprotocols.net \
    --cc=fweisbec@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@kernel.org \
    --cc=namhyung.kim@lge.com \
    --cc=paulus@samba.org \
    --cc=rostedt@goodmis.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

all inboxes | Powered by JetHome®