mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-10-04 16:15:11 +00:00
perf timechart: Fix header handling
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> Acked-by: Arjan van de Ven <arjan@infradead.org> Cc: Peter Zijlstra <a.p.zijlstra@chello.nl> Cc: Paul Mackerras <paulus@samba.org> LKML-Reference: <87ljhg8ioe.fsf@devron.myhome.or.jp> Signed-off-by: Ingo Molnar <mingo@elte.hu>
This commit is contained in:
parent
be2bf0a2df
commit
028c515253
1 changed files with 8 additions and 4 deletions
|
@ -302,12 +302,11 @@ process_exit_event(event_t *event)
|
||||||
}
|
}
|
||||||
|
|
||||||
struct trace_entry {
|
struct trace_entry {
|
||||||
u32 size;
|
|
||||||
unsigned short type;
|
unsigned short type;
|
||||||
unsigned char flags;
|
unsigned char flags;
|
||||||
unsigned char preempt_count;
|
unsigned char preempt_count;
|
||||||
int pid;
|
int pid;
|
||||||
int tgid;
|
int lock_depth;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct power_entry {
|
struct power_entry {
|
||||||
|
@ -489,6 +488,7 @@ process_sample_event(event_t *event)
|
||||||
u64 stamp = 0;
|
u64 stamp = 0;
|
||||||
u32 cpu = 0;
|
u32 cpu = 0;
|
||||||
u32 pid = 0;
|
u32 pid = 0;
|
||||||
|
u32 size, *size_ptr;
|
||||||
struct trace_entry *te;
|
struct trace_entry *te;
|
||||||
|
|
||||||
if (sample_type & PERF_SAMPLE_IP)
|
if (sample_type & PERF_SAMPLE_IP)
|
||||||
|
@ -518,9 +518,13 @@ process_sample_event(event_t *event)
|
||||||
if (sample_type & PERF_SAMPLE_PERIOD)
|
if (sample_type & PERF_SAMPLE_PERIOD)
|
||||||
cursor++;
|
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;
|
char *event_str;
|
||||||
struct power_entry *pe;
|
struct power_entry *pe;
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue