diff options
| author | Bjoern B. Brandenburg <bbb@cs.unc.edu> | 2008-05-22 12:44:51 -0400 |
|---|---|---|
| committer | Bjoern B. Brandenburg <bbb@cs.unc.edu> | 2008-05-22 12:44:51 -0400 |
| commit | 5ef64e006c200e7213ae3cc52cb02bd172bfe97d (patch) | |
| tree | 1066722183ab4c9fb34c59176d4bc1619bfe4924 | |
| parent | 1e68c15dfd99e85be1eecdd1c426a35c6b8a6cc5 (diff) | |
another kernel data format change
don't use timestamps that did not involve a real-time task
| -rw-r--r-- | include/timestamp.h | 11 | ||||
| -rw-r--r-- | src/ft2csv.c | 8 |
2 files changed, 15 insertions, 4 deletions
diff --git a/include/timestamp.h b/include/timestamp.h index ec16d04..b3393ed 100644 --- a/include/timestamp.h +++ b/include/timestamp.h | |||
| @@ -3,11 +3,18 @@ | |||
| 3 | 3 | ||
| 4 | #include <stdint.h> | 4 | #include <stdint.h> |
| 5 | 5 | ||
| 6 | enum task_type_marker { | ||
| 7 | TSK_BE, | ||
| 8 | TSK_RT, | ||
| 9 | TSK_UNKNOWN | ||
| 10 | }; | ||
| 11 | |||
| 6 | struct timestamp { | 12 | struct timestamp { |
| 7 | uint64_t timestamp; | 13 | uint64_t timestamp; |
| 8 | uint32_t seq_no; | 14 | uint32_t seq_no; |
| 9 | uint16_t cpu; | 15 | uint8_t cpu; |
| 10 | uint16_t event; | 16 | uint8_t event; |
| 17 | uint8_t task_type; | ||
| 11 | }; | 18 | }; |
| 12 | 19 | ||
| 13 | typedef uint32_t cmd_t; | 20 | typedef uint32_t cmd_t; |
diff --git a/src/ft2csv.c b/src/ft2csv.c index 3d64b34..a19d2f2 100644 --- a/src/ft2csv.c +++ b/src/ft2csv.c | |||
| @@ -11,6 +11,7 @@ static unsigned int complete = 0; | |||
| 11 | static unsigned int incomplete = 0; | 11 | static unsigned int incomplete = 0; |
| 12 | static unsigned int filtered = 0; | 12 | static unsigned int filtered = 0; |
| 13 | static unsigned int skipped = 0; | 13 | static unsigned int skipped = 0; |
| 14 | static unsigned int non_rt = 0; | ||
| 14 | 15 | ||
| 15 | static unsigned long long threshold = 2700 * 1000; /* 1 ms == 1 full tick */ | 16 | static unsigned long long threshold = 2700 * 1000; /* 1 ms == 1 full tick */ |
| 16 | //static unsigned long long threshold = 2700 * 50; /* 1 ms == 1 full tick */ | 17 | //static unsigned long long threshold = 2700 * 50; /* 1 ms == 1 full tick */ |
| @@ -49,6 +50,8 @@ static void show_csv(struct timestamp* ts, size_t count) | |||
| 49 | if (find_pair(start, &stop, count)) { | 50 | if (find_pair(start, &stop, count)) { |
| 50 | if (stop->timestamp - start->timestamp > threshold) | 51 | if (stop->timestamp - start->timestamp > threshold) |
| 51 | filtered++; | 52 | filtered++; |
| 53 | else if (start->task_type != TSK_RT && stop->task_type != TSK_RT) | ||
| 54 | non_rt++; | ||
| 52 | else { | 55 | else { |
| 53 | printf("%llu, %llu, %llu\n", | 56 | printf("%llu, %llu, %llu\n", |
| 54 | start->timestamp, stop->timestamp, | 57 | start->timestamp, stop->timestamp, |
| @@ -149,10 +152,11 @@ int main(int argc, char** argv) | |||
| 149 | "Skipped : %10d\n" | 152 | "Skipped : %10d\n" |
| 150 | "Complete : %10d\n" | 153 | "Complete : %10d\n" |
| 151 | "Incomplete: %10d\n" | 154 | "Incomplete: %10d\n" |
| 152 | "Filtered : %10d\n", | 155 | "Filtered : %10d\n" |
| 156 | "Non RT : %10d\n", | ||
| 153 | count, | 157 | count, |
| 154 | skipped, complete, | 158 | skipped, complete, |
| 155 | incomplete, filtered); | 159 | incomplete, filtered, non_rt); |
| 156 | 160 | ||
| 157 | return 0; | 161 | return 0; |
| 158 | } | 162 | } |
