lkml.org 
[lkml]   [2009]   [Dec]   [6]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
From
Subject[PATCH 1/3] perf: Fix timechart header handling
Date
Hi,

Update "struct trace_entry" to match with current one. And remove
"size" field from it.

If it has "size", it become cause of alignment mismatch of structure
with kernel.

Signed-off-by: OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
---

tools/perf/builtin-timechart.c | 12 ++++++++----
1 file changed, 8 insertions(+), 4 deletions(-)

diff -puN tools/perf/builtin-timechart.c~perf-fix-timechart-header-handling tools/perf/builtin-timechart.c
--- linux-2.6/tools/perf/builtin-timechart.c~perf-fix-timechart-header-handling 2009-12-06 19:27:33.000000000 +0900
+++ linux-2.6-hirofumi/tools/perf/builtin-timechart.c 2009-12-06 19:27:44.000000000 +0900
@@ -302,12 +302,11 @@ process_exit_event(event_t *event)
}

struct trace_entry {
- u32 size;
unsigned short type;
unsigned char flags;
unsigned char preempt_count;
int pid;
- int tgid;
+ int lock_depth;
};

struct power_entry {
@@ -489,6 +488,7 @@ process_sample_event(event_t *event)
u64 stamp = 0;
u32 cpu = 0;
u32 pid = 0;
+ u32 size, *size_ptr;
struct trace_entry *te;

if (sample_type & PERF_SAMPLE_IP)
@@ -518,9 +518,13 @@ process_sample_event(event_t *event)
if (sample_type & PERF_SAMPLE_PERIOD)
cursor++;

- te = (void *)&event->sample.array[cursor];
+ size_ptr = (void *)&event->sample.array[cursor];

- if (sample_type & PERF_SAMPLE_RAW && te->size > 0) {
+ size = *size_ptr;
+ size_ptr++;
+
+ te = (void *)size_ptr;
+ if (sample_type & PERF_SAMPLE_RAW && size > 0) {
char *event_str;
struct power_entry *pe;

_
--
OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>


\
 
 \ /
  Last update: 2009-12-06 12:43    [W:0.086 / U:24.428 seconds]
©2003-2018 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site