diff options
| author | Jonathan Herman <hermanjl@cs.unc.edu> | 2012-09-21 14:50:35 -0400 |
|---|---|---|
| committer | Jonathan Herman <hermanjl@cs.unc.edu> | 2012-09-21 14:50:35 -0400 |
| commit | cfde60c05a5acc9ff7e4bff8326f6ae6a83e3c7d (patch) | |
| tree | f64dff1cf16f0b243858620fabb41c60c8116001 | |
| parent | 15f952eca67215e7bf1b28ae323635b0882135e2 (diff) | |
Fixed debug messaging
| -rw-r--r-- | kernel-shark.c | 4 | ||||
| -rw-r--r-- | rt-graph.c | 12 | ||||
| -rwxr-xr-x | set_debug.sh | 4 | ||||
| -rw-r--r-- | trace-graph.c | 16 | ||||
| -rw-r--r-- | trace-input.c | 2 |
5 files changed, 30 insertions, 8 deletions
diff --git a/kernel-shark.c b/kernel-shark.c index 069a9c0..df51c8d 100644 --- a/kernel-shark.c +++ b/kernel-shark.c | |||
| @@ -42,7 +42,7 @@ | |||
| 42 | #define ___stringify(X) #X | 42 | #define ___stringify(X) #X |
| 43 | #define __stringify(X) ___stringify(X) | 43 | #define __stringify(X) ___stringify(X) |
| 44 | 44 | ||
| 45 | #define DEBUG_LEVEL 0 | 45 | #define DEBUG_LEVEL 0 |
| 46 | #if DEBUG_LEVEL > 0 | 46 | #if DEBUG_LEVEL > 0 |
| 47 | # define dprintf(l, x...) \ | 47 | # define dprintf(l, x...) \ |
| 48 | do { \ | 48 | do { \ |
| @@ -2421,7 +2421,7 @@ void kernel_shark(int argc, char **argv) | |||
| 2421 | info->ginfo->rtg_info.clean_records = clean; | 2421 | info->ginfo->rtg_info.clean_records = clean; |
| 2422 | info->ginfo->rtg_info.start_offset = start; | 2422 | info->ginfo->rtg_info.start_offset = start; |
| 2423 | info->ginfo->rtg_info.duration = duration; | 2423 | info->ginfo->rtg_info.duration = duration; |
| 2424 | 2424 | ||
| 2425 | widget = trace_graph_get_window(info->ginfo); | 2425 | widget = trace_graph_get_window(info->ginfo); |
| 2426 | gtk_paned_add1(GTK_PANED(vpaned), widget); | 2426 | gtk_paned_add1(GTK_PANED(vpaned), widget); |
| 2427 | gtk_widget_show(widget); | 2427 | gtk_widget_show(widget); |
| @@ -208,8 +208,16 @@ int rt_graph_check_any(struct graph_info *ginfo, | |||
| 208 | if (!field) | 208 | if (!field) |
| 209 | field = add_ts_hash(rtg_info->events, eid, key, pevent, record); | 209 | field = add_ts_hash(rtg_info->events, eid, key, pevent, record); |
| 210 | 210 | ||
| 211 | if (!field) { | ||
| 212 | dprintf(2, "No field '%s' for rid %d\n", RT_TS_FIELD, eid); | ||
| 213 | *ts = 0; | ||
| 214 | } else { | ||
| 215 | dprintf(2, "Found field '%s' for rid %d\n", RT_TS_FIELD, eid); | ||
| 216 | pevent_read_number_field(field, record->data, ts); | ||
| 217 | } | ||
| 218 | |||
| 211 | *epid = pevent_data_pid(pevent, record); | 219 | *epid = pevent_data_pid(pevent, record); |
| 212 | pevent_read_number_field(field, record->data, ts); | 220 | |
| 213 | 221 | ||
| 214 | dprintf(3, "Read (%d) record for task %d at %llu\n", | 222 | dprintf(3, "Read (%d) record for task %d at %llu\n", |
| 215 | eid, *epid, *ts); | 223 | eid, *epid, *ts); |
| @@ -946,7 +954,7 @@ unsigned long long | |||
| 946 | get_rts(struct graph_info *ginfo, struct record *record) | 954 | get_rts(struct graph_info *ginfo, struct record *record) |
| 947 | { | 955 | { |
| 948 | gint epid, eid; | 956 | gint epid, eid; |
| 949 | unsigned long long ts; | 957 | unsigned long long ts = 0; |
| 950 | if (!record->cached_rts) { | 958 | if (!record->cached_rts) { |
| 951 | rt_graph_check_any(ginfo, record, &epid, &eid, &ts); | 959 | rt_graph_check_any(ginfo, record, &epid, &eid, &ts); |
| 952 | record->cached_rts = ts; | 960 | record->cached_rts = ts; |
diff --git a/set_debug.sh b/set_debug.sh new file mode 100755 index 0000000..95a8c74 --- /dev/null +++ b/set_debug.sh | |||
| @@ -0,0 +1,4 @@ | |||
| 1 | #!/bin/bash | ||
| 2 | PATTERN="(define debug[a-z_]+\s*)[0-9]+" | ||
| 3 | sed -ri "s/$PATTERN/\\1$1/gi" *.[ch] | ||
| 4 | grep -HirE "$PATTERN" *.[ch] \ No newline at end of file | ||
diff --git a/trace-graph.c b/trace-graph.c index 0b2b7cf..c2f3574 100644 --- a/trace-graph.c +++ b/trace-graph.c | |||
| @@ -35,7 +35,7 @@ | |||
| 35 | 35 | ||
| 36 | #include "util.h" | 36 | #include "util.h" |
| 37 | 37 | ||
| 38 | #define DEBUG_LEVEL 0 | 38 | #define DEBUG_LEVEL 0 |
| 39 | #if DEBUG_LEVEL > 0 | 39 | #if DEBUG_LEVEL > 0 |
| 40 | # define dprintf(l, x...) \ | 40 | # define dprintf(l, x...) \ |
| 41 | do { \ | 41 | do { \ |
| @@ -1876,7 +1876,7 @@ static void draw_hashed_plots(struct graph_info *ginfo) | |||
| 1876 | clean = ginfo->rtg_info.clean_records; | 1876 | clean = ginfo->rtg_info.clean_records; |
| 1877 | 1877 | ||
| 1878 | set_cpus_to_rts(ginfo, ginfo->view_start_time); | 1878 | set_cpus_to_rts(ginfo, ginfo->view_start_time); |
| 1879 | 1879 | ||
| 1880 | max_time = ginfo->view_end_time; | 1880 | max_time = ginfo->view_end_time; |
| 1881 | min_time = ginfo->view_start_time; | 1881 | min_time = ginfo->view_start_time; |
| 1882 | 1882 | ||
| @@ -1885,18 +1885,22 @@ static void draw_hashed_plots(struct graph_info *ginfo) | |||
| 1885 | 1885 | ||
| 1886 | if (get_rts(ginfo, record) < min_time) { | 1886 | if (get_rts(ginfo, record) < min_time) { |
| 1887 | free_record(record); | 1887 | free_record(record); |
| 1888 | dprintf(3, "%llu < %llu, skipping\n", | ||
| 1889 | get_rts(ginfo, record), min_time); | ||
| 1888 | continue; | 1890 | continue; |
| 1889 | } | 1891 | } |
| 1890 | 1892 | ||
| 1891 | if (get_rts(ginfo, record) > max_time) { | 1893 | if (get_rts(ginfo, record) > max_time) { |
| 1892 | free_record(record); | 1894 | free_record(record); |
| 1895 | dprintf(3, "%llu > %llu, breaking\n", | ||
| 1896 | get_rts(ginfo, record), min_time); | ||
| 1893 | break; | 1897 | break; |
| 1894 | } | 1898 | } |
| 1895 | 1899 | ||
| 1896 | // TODO: hack to clean up until first release, make unhacky | 1900 | // TODO: hack to clean up until first release, make unhacky |
| 1897 | if (ginfo->rtg_info.clean_records && | 1901 | if (ginfo->rtg_info.clean_records && |
| 1898 | (ginfo->rtg_info.start_time == 0 || get_rts(ginfo, record) < ginfo->rtg_info.start_time)) { | 1902 | (ginfo->rtg_info.start_time == 0 || get_rts(ginfo, record) < ginfo->rtg_info.start_time)) { |
| 1899 | unsigned long long dull, rel = 0; | 1903 | unsigned long long dull, rel; |
| 1900 | char *dchar; | 1904 | char *dchar; |
| 1901 | int dint; | 1905 | int dint; |
| 1902 | 1906 | ||
| @@ -1916,6 +1920,9 @@ static void draw_hashed_plots(struct graph_info *ginfo) | |||
| 1916 | ginfo->view_start_time = min_time; | 1920 | ginfo->view_start_time = min_time; |
| 1917 | ginfo->start_time = min_time; | 1921 | ginfo->start_time = min_time; |
| 1918 | 1922 | ||
| 1923 | dprintf(3, "found release at %llu, min_time now %llu \n", | ||
| 1924 | rel, min_time); | ||
| 1925 | |||
| 1919 | if (ginfo->rtg_info.duration) { | 1926 | if (ginfo->rtg_info.duration) { |
| 1920 | max_time = MIN(max_time, min_time + ginfo->rtg_info.duration * NSECS_PER_SEC); | 1927 | max_time = MIN(max_time, min_time + ginfo->rtg_info.duration * NSECS_PER_SEC); |
| 1921 | ginfo->view_end_time = max_time; | 1928 | ginfo->view_end_time = max_time; |
| @@ -1929,6 +1936,9 @@ static void draw_hashed_plots(struct graph_info *ginfo) | |||
| 1929 | 1936 | ||
| 1930 | free_record(record); | 1937 | free_record(record); |
| 1931 | 1938 | ||
| 1939 | dprintf(3, "haven't released yet, skipping %llu\n", | ||
| 1940 | get_rts(ginfo, record)); | ||
| 1941 | |||
| 1932 | continue; | 1942 | continue; |
| 1933 | } | 1943 | } |
| 1934 | 1944 | ||
diff --git a/trace-input.c b/trace-input.c index 48dafe9..4ffe0ee 100644 --- a/trace-input.c +++ b/trace-input.c | |||
| @@ -135,7 +135,7 @@ static const char *show_records(struct list_head *pages) | |||
| 135 | 135 | ||
| 136 | memset(buf, 0, sizeof(buf)); | 136 | memset(buf, 0, sizeof(buf)); |
| 137 | len = 0; | 137 | len = 0; |
| 138 | list_for_each_entry(page, pages, struct page, list) { | 138 | list_for_each_entry(page, pages, list) { |
| 139 | for (record = page->records; record; record = record->next) { | 139 | for (record = page->records; record; record = record->next) { |
| 140 | int n; | 140 | int n; |
| 141 | n = snprintf(buf+len, BUFSIZ - len, " 0x%lx", record->alloc_addr); | 141 | n = snprintf(buf+len, BUFSIZ - len, " 0x%lx", record->alloc_addr); |
