aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSteven Rostedt <srostedt@redhat.com>2010-12-02 15:20:10 -0500
committerSteven Rostedt <rostedt@goodmis.org>2010-12-02 15:24:00 -0500
commit65701dedeffb2a40096d91974b4a8ca8dfce486e (patch)
tree70298f7b34a43a9b9984357dcd226af72941c343
parent4d1cfa8098b9d3cf8d4d51528e01cf9ef116bf35 (diff)
trace-cmd: Allow trace-read -w to work without wakeup event success field
The wakeup event "success" field is going away. Do not depend on it. Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
-rw-r--r--trace-read.c21
1 files changed, 8 insertions, 13 deletions
diff --git a/trace-read.c b/trace-read.c
index f8455a3..4aa8d75 100644
--- a/trace-read.c
+++ b/trace-read.c
@@ -300,9 +300,6 @@ static void init_wakeup(struct tracecmd_input *handle)
300 if (!wakeup_task) 300 if (!wakeup_task)
301 goto fail; 301 goto fail;
302 wakeup_success = pevent_find_field(event, "success"); 302 wakeup_success = pevent_find_field(event, "success");
303 if (!wakeup_success)
304 goto fail;
305
306 303
307 event = pevent_find_event_by_name(pevent, "sched", "sched_switch"); 304 event = pevent_find_event_by_name(pevent, "sched", "sched_switch");
308 if (!event) 305 if (!event)
@@ -323,8 +320,6 @@ static void init_wakeup(struct tracecmd_input *handle)
323 if (!wakeup_new_task) 320 if (!wakeup_new_task)
324 goto fail; 321 goto fail;
325 wakeup_new_success = pevent_find_field(event, "success"); 322 wakeup_new_success = pevent_find_field(event, "success");
326 if (!wakeup_new_success)
327 goto fail;
328 323
329 skip: 324 skip:
330 return; 325 return;
@@ -410,18 +405,18 @@ static void process_wakeup(struct pevent *pevent, struct record *record)
410 405
411 id = pevent_data_type(pevent, record); 406 id = pevent_data_type(pevent, record);
412 if (id == wakeup_id) { 407 if (id == wakeup_id) {
413 if (pevent_read_number_field(wakeup_success, record->data, &val)) 408 if (pevent_read_number_field(wakeup_success, record->data, &val) == 0) {
414 return; 409 if (!val)
415 if (!val) 410 return;
416 return; 411 }
417 if (pevent_read_number_field(wakeup_task, record->data, &val)) 412 if (pevent_read_number_field(wakeup_task, record->data, &val))
418 return; 413 return;
419 add_wakeup(val, record->ts); 414 add_wakeup(val, record->ts);
420 } else if (id == wakeup_new_id) { 415 } else if (id == wakeup_new_id) {
421 if (pevent_read_number_field(wakeup_new_success, record->data, &val)) 416 if (pevent_read_number_field(wakeup_new_success, record->data, &val) == 0) {
422 return; 417 if (!val)
423 if (!val) 418 return;
424 return; 419 }
425 if (pevent_read_number_field(wakeup_new_task, record->data, &val)) 420 if (pevent_read_number_field(wakeup_new_task, record->data, &val))
426 return; 421 return;
427 add_wakeup(val, record->ts); 422 add_wakeup(val, record->ts);