From f39cb0054e5d261aea167dcbd59390c4726842e8 Mon Sep 17 00:00:00 2001 From: "Bjoern B. Brandenburg" Date: Mon, 25 Jul 2011 17:20:12 -0400 Subject: create nicer output in ftdump --- src/ftdump.c | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) (limited to 'src') diff --git a/src/ftdump.c b/src/ftdump.c index f18ced3..39747c9 100644 --- a/src/ftdump.c +++ b/src/ftdump.c @@ -38,12 +38,19 @@ static void dump(struct timestamp* ts, size_t count) printf("==== non-consecutive sequence number ====\n"); last_seq = x->seq_no; if (name) - printf("%-15s %-8s seq:%u cpu:%d timestamp:%llu\n", - name, task_type2str(x->task_type), x->seq_no, x->cpu, - (unsigned long long) x->timestamp); + printf("%-20s seq:%u timestamp:%llu cpu:%d type:%-8s \n", + name, x->seq_no, + (unsigned long long) x->timestamp, + x->cpu, + task_type2str(x->task_type)); else - printf("event:%d seq:%u cpu:%d type:%s\n", - (int) x->event, x->seq_no, x->cpu, task_type2str(x->task_type)); + printf("%16s:%3u seq:%u timestamp:%llu cpu:%u type:%-8s\n", + "event", + (unsigned int) x->event, x->seq_no, + (unsigned long long) x->timestamp, + x->cpu, + task_type2str(x->task_type)); + } } -- cgit v1.2.2 From 57069d06ed3b5086bf5ebd87998ae8afedbac7cc Mon Sep 17 00:00:00 2001 From: "Bjoern B. Brandenburg" Date: Tue, 24 Jan 2012 13:54:01 +0100 Subject: Add support for IRQ flag and counter in binary trace format. This introduces the new bit allocation and adds support to ftdump for showing the values. Not yet included is any support for filtering based on IRQ interference. --- src/ftdump.c | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) (limited to 'src') diff --git a/src/ftdump.c b/src/ftdump.c index 39747c9..1462c4d 100644 --- a/src/ftdump.c +++ b/src/ftdump.c @@ -38,19 +38,22 @@ static void dump(struct timestamp* ts, size_t count) printf("==== non-consecutive sequence number ====\n"); last_seq = x->seq_no; if (name) - printf("%-20s seq:%u timestamp:%llu cpu:%d type:%-8s \n", + printf("%-20s seq:%u timestamp:%llu cpu:%d type:%-8s irq:%u irqc:%02u \n", name, x->seq_no, (unsigned long long) x->timestamp, x->cpu, - task_type2str(x->task_type)); + task_type2str(x->task_type), + x->irq_flag, + x->irq_count); else - printf("%16s:%3u seq:%u timestamp:%llu cpu:%u type:%-8s\n", + printf("%16s:%3u seq:%u timestamp:%llu cpu:%u type:%-8s irq:%u irqc:%02u\n", "event", (unsigned int) x->event, x->seq_no, (unsigned long long) x->timestamp, x->cpu, - task_type2str(x->task_type)); - + task_type2str(x->task_type), + x->irq_flag, + x->irq_count); } } @@ -75,14 +78,12 @@ int main(int argc, char** argv) "\t offset(timestamp) = %3lu\n" "\t offset(seq_no) = %3lu\n" "\t offset(cpu) = %3lu\n" - "\t offset(event) = %3lu\n" - "\t offset(task_type) = %3lu\n", + "\t offset(event) = %3lu\n", (unsigned long) sizeof(struct timestamp), offset(struct timestamp, timestamp), offset(struct timestamp, seq_no), offset(struct timestamp, cpu), - offset(struct timestamp, event), - offset(struct timestamp, task_type)); + offset(struct timestamp, event)); if (argc != 2) die("Usage: ftdump "); -- cgit v1.2.2 From fc6f91abc9cf80350b756547c8fb9fc5cbdcbddc Mon Sep 17 00:00:00 2001 From: Bjoern Brandenburg Date: Mon, 13 Feb 2012 18:27:18 +0100 Subject: Remove hard-coded threshold The hard-coded threshold is a leftover from the beginnings. It can be surprising and is no longer needed: outlier filtering should happen during post-processing, if at all. --- src/ft2csv.c | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) (limited to 'src') diff --git a/src/ft2csv.c b/src/ft2csv.c index aceeb25..a6b1bf2 100644 --- a/src/ft2csv.c +++ b/src/ft2csv.c @@ -37,7 +37,6 @@ static int only_cpu = -1; static unsigned int complete = 0; static unsigned int incomplete = 0; -static unsigned int filtered = 0; static unsigned int skipped = 0; static unsigned int non_rt = 0; static unsigned int interleaved = 0; @@ -45,8 +44,6 @@ static unsigned int avoided = 0; #define CYCLES_PER_US 2128 -static unsigned long long threshold = CYCLES_PER_US * 10000; /* 10 ms == 10 full ticks */ - static struct timestamp* next(struct timestamp* start, struct timestamp* end, int cpu) { @@ -128,9 +125,7 @@ static void show_csv(struct timestamp* first, struct timestamp *end) second = find_second_ts(first, end); if (second) { - if (second->timestamp - first->timestamp > threshold) - filtered++; - else if (first->task_type != TSK_RT && + if (first->task_type != TSK_RT && second->task_type != TSK_RT && !want_best_effort) non_rt++; else { @@ -281,12 +276,11 @@ int main(int argc, char** argv) "Avoided : %10d\n" "Complete : %10d\n" "Incomplete : %10d\n" - "Filtered : %10d\n" "Non RT : %10d\n" "Interleaved : %10d\n", (int) count, skipped, avoided, complete, - incomplete, filtered, non_rt, + incomplete, non_rt, interleaved); return 0; -- cgit v1.2.2