aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJonathan Herman <hermanjl@cs.unc.edu>2012-09-21 14:50:35 -0400
committerJonathan Herman <hermanjl@cs.unc.edu>2012-09-21 14:50:35 -0400
commitcfde60c05a5acc9ff7e4bff8326f6ae6a83e3c7d (patch)
treef64dff1cf16f0b243858620fabb41c60c8116001
parent15f952eca67215e7bf1b28ae323635b0882135e2 (diff)
Fixed debug messaging
-rw-r--r--kernel-shark.c4
-rw-r--r--rt-graph.c12
-rwxr-xr-xset_debug.sh4
-rw-r--r--trace-graph.c16
-rw-r--r--trace-input.c2
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);
diff --git a/rt-graph.c b/rt-graph.c
index d9a3f82..5fa4aa4 100644
--- a/rt-graph.c
+++ b/rt-graph.c
@@ -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
946get_rts(struct graph_info *ginfo, struct record *record) 954get_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
2PATTERN="(define debug[a-z_]+\s*)[0-9]+"
3sed -ri "s/$PATTERN/\\1$1/gi" *.[ch]
4grep -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);