diff options
Diffstat (limited to 'parse-events.c')
-rw-r--r-- | parse-events.c | 21 |
1 files changed, 12 insertions, 9 deletions
diff --git a/parse-events.c b/parse-events.c index 49cde00..d53184b 100644 --- a/parse-events.c +++ b/parse-events.c | |||
@@ -3113,13 +3113,14 @@ static void pretty_print(struct trace_seq *s, void *data, int size, struct event | |||
3113 | * and lock depth) and places it into the trace_seq. | 3113 | * and lock depth) and places it into the trace_seq. |
3114 | */ | 3114 | */ |
3115 | void pevent_data_lat_fmt(struct pevent *pevent, | 3115 | void pevent_data_lat_fmt(struct pevent *pevent, |
3116 | struct trace_seq *s, void *data, int size __unused) | 3116 | struct trace_seq *s, struct record *record) |
3117 | { | 3117 | { |
3118 | unsigned int lat_flags; | 3118 | unsigned int lat_flags; |
3119 | unsigned int pc; | 3119 | unsigned int pc; |
3120 | int lock_depth; | 3120 | int lock_depth; |
3121 | int hardirq; | 3121 | int hardirq; |
3122 | int softirq; | 3122 | int softirq; |
3123 | void *data = record->data; | ||
3123 | 3124 | ||
3124 | lat_flags = parse_common_flags(pevent, data); | 3125 | lat_flags = parse_common_flags(pevent, data); |
3125 | pc = parse_common_pc(pevent, data); | 3126 | pc = parse_common_pc(pevent, data); |
@@ -3215,30 +3216,32 @@ const char *pevent_data_comm_from_pid(struct pevent *pevent, int pid) | |||
3215 | * writes the print format into the trace_seq. | 3216 | * writes the print format into the trace_seq. |
3216 | */ | 3217 | */ |
3217 | void pevent_event_info(struct trace_seq *s, struct event_format *event, | 3218 | void pevent_event_info(struct trace_seq *s, struct event_format *event, |
3218 | int cpu, void *data, int size, unsigned long long nsecs) | 3219 | int cpu, struct record *record) |
3219 | { | 3220 | { |
3220 | if (event->handler) | 3221 | if (event->handler) |
3221 | event->handler(s, data, size, event, cpu, nsecs); | 3222 | event->handler(s, record, event, cpu); |
3222 | else | 3223 | else |
3223 | pretty_print(s, data, size, event); | 3224 | pretty_print(s, record->data, record->size, event); |
3224 | 3225 | ||
3225 | trace_seq_terminate(s); | 3226 | trace_seq_terminate(s); |
3226 | } | 3227 | } |
3227 | 3228 | ||
3228 | void pevent_print_event(struct pevent *pevent, struct trace_seq *s, | 3229 | void pevent_print_event(struct pevent *pevent, struct trace_seq *s, |
3229 | int cpu, void *data, int size, unsigned long long nsecs) | 3230 | int cpu, struct record *record) |
3230 | { | 3231 | { |
3231 | static char *spaces = " "; /* 20 spaces */ | 3232 | static char *spaces = " "; /* 20 spaces */ |
3232 | struct event_format *event; | 3233 | struct event_format *event; |
3233 | unsigned long secs; | 3234 | unsigned long secs; |
3234 | unsigned long usecs; | 3235 | unsigned long usecs; |
3235 | const char *comm; | 3236 | const char *comm; |
3237 | void *data = record->data; | ||
3238 | int size = record->size; | ||
3236 | int type; | 3239 | int type; |
3237 | int pid; | 3240 | int pid; |
3238 | int len; | 3241 | int len; |
3239 | 3242 | ||
3240 | secs = nsecs / NSECS_PER_SEC; | 3243 | secs = record->ts / NSECS_PER_SEC; |
3241 | usecs = nsecs - secs * NSECS_PER_SEC; | 3244 | usecs = record->ts - secs * NSECS_PER_SEC; |
3242 | usecs = usecs / NSECS_PER_USEC; | 3245 | usecs = usecs / NSECS_PER_USEC; |
3243 | 3246 | ||
3244 | type = trace_parse_common_type(pevent, data); | 3247 | type = trace_parse_common_type(pevent, data); |
@@ -3255,7 +3258,7 @@ void pevent_print_event(struct pevent *pevent, struct trace_seq *s, | |||
3255 | if (pevent->latency_format) { | 3258 | if (pevent->latency_format) { |
3256 | trace_seq_printf(s, "%8.8s-%-5d %3d", | 3259 | trace_seq_printf(s, "%8.8s-%-5d %3d", |
3257 | comm, pid, cpu); | 3260 | comm, pid, cpu); |
3258 | pevent_data_lat_fmt(pevent, s, data, size); | 3261 | pevent_data_lat_fmt(pevent, s, record); |
3259 | } else | 3262 | } else |
3260 | trace_seq_printf(s, "%16s-%-5d [%03d]", comm, pid, cpu); | 3263 | trace_seq_printf(s, "%16s-%-5d [%03d]", comm, pid, cpu); |
3261 | 3264 | ||
@@ -3267,7 +3270,7 @@ void pevent_print_event(struct pevent *pevent, struct trace_seq *s, | |||
3267 | trace_seq_printf(s, "%.*s", 20 - len, spaces); | 3270 | trace_seq_printf(s, "%.*s", 20 - len, spaces); |
3268 | 3271 | ||
3269 | if (event->handler) | 3272 | if (event->handler) |
3270 | event->handler(s, data, size, event, cpu, nsecs); | 3273 | event->handler(s, record, event, cpu); |
3271 | else | 3274 | else |
3272 | pretty_print(s, data, size, event); | 3275 | pretty_print(s, data, size, event); |
3273 | 3276 | ||