aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJonathan Herman <hermanjl@cs.unc.edu>2012-09-29 17:25:55 -0400
committerJonathan Herman <hermanjl@cs.unc.edu>2012-09-29 17:25:55 -0400
commit7a67bb21f120fc0da6943a5557ef5af06d881ff0 (patch)
treea5a2ed9714a38809293c003d2132f31ef7839614
parentcfde60c05a5acc9ff7e4bff8326f6ae6a83e3c7d (diff)
Initial viewing area size determined using rt-timestamps, not ftrace timestamps.
-rw-r--r--rt-plot.c13
-rw-r--r--rt-plot.h4
-rwxr-xr-xset_debug.sh2
-rw-r--r--trace-graph.c6
4 files changed, 15 insertions, 10 deletions
diff --git a/rt-plot.c b/rt-plot.c
index 4065424..a86b7df 100644
--- a/rt-plot.c
+++ b/rt-plot.c
@@ -377,7 +377,7 @@ next_rts(struct graph_info *ginfo, int cpu, unsigned long long ft_target)
377 * The @cpu seek location will be placed before the given time, but will 377 * The @cpu seek location will be placed before the given time, but will
378 * not necessarily be placed _right_ before the time. 378 * not necessarily be placed _right_ before the time.
379 */ 379 */
380void 380unsigned long long
381set_cpu_to_rts(struct graph_info *ginfo, unsigned long long rt_target, int cpu) 381set_cpu_to_rts(struct graph_info *ginfo, unsigned long long rt_target, int cpu)
382{ 382{
383 struct record *record; 383 struct record *record;
@@ -429,16 +429,21 @@ set_cpu_to_rts(struct graph_info *ginfo, unsigned long long rt_target, int cpu)
429 free_record(record); 429 free_record(record);
430 } else 430 } else
431 tracecmd_set_cpu_to_timestamp(ginfo->handle, cpu, seek_time); 431 tracecmd_set_cpu_to_timestamp(ginfo->handle, cpu, seek_time);
432 return rts;
432} 433}
433 434
434/** 435/**
435 * set_cpus_to_time - seek all cpus to real-time @rt_target 436 * set_cpus_to_time - seek all cpus to real-time @rt_target
436 */ 437 */
437void set_cpus_to_rts(struct graph_info *ginfo, unsigned long long rt_target) 438unsigned long long set_cpus_to_rts(struct graph_info *ginfo, unsigned long long rt_target)
438{ 439{
439 int cpu; 440 int cpu;
440 for (cpu = 0; cpu < ginfo->cpus; cpu++) 441 unsigned long long min_rts = ULLONG_MAX;
441 set_cpu_to_rts(ginfo, rt_target, cpu); 442 for (cpu = 0; cpu < ginfo->cpus; cpu++) {
443 unsigned long long rts = set_cpu_to_rts(ginfo, rt_target, cpu);
444 min_rts = MIN(min_rts, rts);
445 }
446 return min_rts;
442} 447}
443 448
444 449
diff --git a/rt-plot.h b/rt-plot.h
index ef609bb..a1cf98e 100644
--- a/rt-plot.h
+++ b/rt-plot.h
@@ -70,9 +70,9 @@ find_rt_display_record(struct graph_info *ginfo,
70 70
71unsigned long long next_rts(struct graph_info *ginfo, int cpu, 71unsigned long long next_rts(struct graph_info *ginfo, int cpu,
72 unsigned long long ft_target); 72 unsigned long long ft_target);
73void set_cpu_to_rts(struct graph_info *ginfo, 73unsigned long long set_cpu_to_rts(struct graph_info *ginfo,
74 unsigned long long rt_target, int cpu); 74 unsigned long long rt_target, int cpu);
75void set_cpus_to_rts(struct graph_info *ginfo, 75unsigned long long set_cpus_to_rts(struct graph_info *ginfo,
76 unsigned long long rt_target); 76 unsigned long long rt_target);
77int is_task_running(struct graph_info *ginfo, 77int is_task_running(struct graph_info *ginfo,
78 unsigned long long time, 78 unsigned long long time,
diff --git a/set_debug.sh b/set_debug.sh
index 95a8c74..19bb76c 100755
--- a/set_debug.sh
+++ b/set_debug.sh
@@ -1,4 +1,4 @@
1#!/bin/bash 1#!/bin/bash
2PATTERN="(define debug[a-z_]+\s*)[0-9]+" 2PATTERN="(define debug[a-z_]+\s*)[-0-9]+"
3sed -ri "s/$PATTERN/\\1$1/gi" *.[ch] 3sed -ri "s/$PATTERN/\\1$1/gi" *.[ch]
4grep -HirE "$PATTERN" *.[ch] \ No newline at end of file 4grep -HirE "$PATTERN" *.[ch] \ No newline at end of file
diff --git a/trace-graph.c b/trace-graph.c
index c2f3574..58baf79 100644
--- a/trace-graph.c
+++ b/trace-graph.c
@@ -1915,7 +1915,7 @@ static void draw_hashed_plots(struct graph_info *ginfo)
1915 rt_graph_check_server_param(ARG, &dint, &dull, &dull); 1915 rt_graph_check_server_param(ARG, &dint, &dull, &dull);
1916#undef ARG 1916#undef ARG
1917 if (rt_graph_check_sys_release(ginfo, record, &rel)) { 1917 if (rt_graph_check_sys_release(ginfo, record, &rel)) {
1918 min_time = rel + ginfo->rtg_info.start_offset * NSECS_PER_SEC; 1918 min_time = rel;
1919 ginfo->rtg_info.start_time = min_time; 1919 ginfo->rtg_info.start_time = min_time;
1920 ginfo->view_start_time = min_time; 1920 ginfo->view_start_time = min_time;
1921 ginfo->start_time = min_time; 1921 ginfo->start_time = min_time;
@@ -2542,7 +2542,7 @@ static int load_handle(struct graph_info *ginfo,
2542 continue; 2542 continue;
2543 2543
2544 if (record->ts < ginfo->start_time) 2544 if (record->ts < ginfo->start_time)
2545 ginfo->start_time = record->ts; 2545 ginfo->start_time = get_rts(ginfo, record);
2546 2546
2547 free_record(record); 2547 free_record(record);
2548 record = tracecmd_read_cpu_last(handle, cpu); 2548 record = tracecmd_read_cpu_last(handle, cpu);
@@ -2550,7 +2550,7 @@ static int load_handle(struct graph_info *ginfo,
2550 continue; 2550 continue;
2551 2551
2552 if (record->ts > ginfo->end_time) 2552 if (record->ts > ginfo->end_time)
2553 ginfo->end_time = record->ts; 2553 ginfo->end_time = get_rts(ginfo, record);
2554 free_record(record); 2554 free_record(record);
2555 } 2555 }
2556 2556