From f8db253b6971785d165b39ca47d15167e8ba31ae Mon Sep 17 00:00:00 2001 From: Ingo Molnar Date: Tue, 26 May 2009 19:03:36 +0200 Subject: [PATCH] --- yaml --- r: 147535 b: refs/heads/master c: f49515b157e2d3ca3633eb0664fc46c42f6cb37e h: refs/heads/master i: 147533: 164f394c183603c85bac7c4588282ef05647a4ad 147531: e13139eac85c7b32837d0d2228e67fd2dee6ed5a 147527: f0a75835804834bbe56700f7bf71a459bcdb7747 147519: 07e3d0fb1dd1bbe831766d37eb0dc94b9e470f96 v: v3 --- [refs] | 2 +- .../perf_counter/builtin-report.c | 22 +++++++++++++------ 2 files changed, 16 insertions(+), 8 deletions(-) diff --git a/[refs] b/[refs] index d67da4cb5a71..00d5a74c9bd7 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 3e70611460fe74ad32534fa9791774f6bbdd4159 +refs/heads/master: f49515b157e2d3ca3633eb0664fc46c42f6cb37e diff --git a/trunk/Documentation/perf_counter/builtin-report.c b/trunk/Documentation/perf_counter/builtin-report.c index 4b5ccc5bd0e6..2d4e4cc655a3 100644 --- a/trunk/Documentation/perf_counter/builtin-report.c +++ b/trunk/Documentation/perf_counter/builtin-report.c @@ -645,7 +645,7 @@ static int __cmd_report(void) char *buf; event_t *event; int ret, rc = EXIT_FAILURE; - unsigned long total = 0, total_mmap = 0, total_comm = 0, total_unknown; + unsigned long total = 0, total_mmap = 0, total_comm = 0, total_unknown = 0; input = open(input_name, O_RDONLY); if (input < 0) { @@ -699,8 +699,6 @@ static int __cmd_report(void) goto done; } - head += event->header.size; - if (event->header.misc & PERF_EVENT_MISC_OVERFLOW) { char level; int show = 0; @@ -709,7 +707,9 @@ static int __cmd_report(void) uint64_t ip = event->ip.ip; if (dump_trace) { - fprintf(stderr, "PERF_EVENT (IP, %d): %d: %p\n", + fprintf(stderr, "%p [%p]: PERF_EVENT (IP, %d): %d: %p\n", + (void *)(offset + head), + (void *)(long)(event->header.size), event->header.misc, event->ip.pid, (void *)event->ip.ip); @@ -753,7 +753,9 @@ static int __cmd_report(void) struct map *map = map__new(&event->mmap); if (dump_trace) { - fprintf(stderr, "PERF_EVENT_MMAP: [%p(%p) @ %p]: %s\n", + fprintf(stderr, "%p [%p]: PERF_EVENT_MMAP: [%p(%p) @ %p]: %s\n", + (void *)(offset + head), + (void *)(long)(event->header.size), (void *)event->mmap.start, (void *)event->mmap.len, (void *)event->mmap.pgoff, @@ -771,7 +773,9 @@ static int __cmd_report(void) struct thread *thread = threads__findnew(event->comm.pid); if (dump_trace) { - fprintf(stderr, "PERF_EVENT_COMM: %s:%d\n", + fprintf(stderr, "%p [%p]: PERF_EVENT_COMM: %s:%d\n", + (void *)(offset + head), + (void *)(long)(event->header.size), event->comm.comm, event->comm.pid); } if (thread == NULL || @@ -783,12 +787,16 @@ static int __cmd_report(void) break; } default: { - fprintf(stderr, "skipping unknown header type: %d\n", + fprintf(stderr, "%p [%p]: skipping unknown header type: %d\n", + (void *)(offset + head), + (void *)(long)(event->header.size), event->header.type); total_unknown++; } } + head += event->header.size; + if (offset + head < stat.st_size) goto more;