From 8db31be965afd2b910e747c870941189a63d1457 Mon Sep 17 00:00:00 2001 From: "Bjoern B. Brandenburg" Date: Mon, 1 Dec 2008 04:47:11 -0500 Subject: add support system release events --- bin/showst.c | 1 - src/sched_trace.c | 32 ++++++++++++++++++++------------ 2 files changed, 20 insertions(+), 13 deletions(-) diff --git a/bin/showst.c b/bin/showst.c index 1580adf..68d8b50 100644 --- a/bin/showst.c +++ b/bin/showst.c @@ -49,7 +49,6 @@ static void show(char* file) { size_t s; struct st_event_record *rec, *end; - unsigned int count; if (map_trace(file, &rec, &end, &s) == 0) { print_all(rec, ((unsigned int)((char*) end - (char*) rec)) diff --git a/src/sched_trace.c b/src/sched_trace.c index 434b0d7..0c478f3 100644 --- a/src/sched_trace.c +++ b/src/sched_trace.c @@ -22,10 +22,11 @@ static const char* event_names[] = { "COMPLETION", "BLOCK", "RESUME", + "SYS_RELEASE", "INVALID" }; -#define ST_INVALID (ST_RESUME + 1) +#define ST_INVALID (ST_SYS_RELEASE + 1) const char* event2name(unsigned int id) @@ -48,6 +49,7 @@ u64 event_time(struct st_event_record* rec) case ST_COMPLETION: case ST_BLOCK: case ST_RESUME: + case ST_SYS_RELEASE: when = rec->data.raw[0]; break; default: @@ -89,18 +91,24 @@ static void print_param(struct st_event_record* rec) rec->data.param.partition); } +static void print_time_data2(struct st_event_record* rec) +{ + printf("%6.2fms", rec->data.raw[1] / 1000000.0); +} + static print_t print_detail[] = { - print_nothing, - print_name, - print_param, - print_nothing, - print_nothing, - print_nothing, - print_nothing, - print_nothing, - print_nothing, - print_nothing, - print_nothing + print_nothing, /* invalid */ + print_name, /* NAME */ + print_param, /* PARAM */ + print_time_data2, /* RELEASE */ + print_nothing, /* ASSIGNED */ + print_nothing, /* SWITCH_TO */ + print_nothing, /* SWITCH_FROM */ + print_nothing, /* COMPLETION */ + print_nothing, /* BLOCK */ + print_nothing, /* RESUME */ + print_time_data2, /* SYS_RELEASE */ + print_nothing, /* invalid */ }; void print_event(struct st_event_record *rec) -- cgit v1.2.2