aboutsummaryrefslogtreecommitdiffstats
path: root/litmus/rt_domain.c
diff options
context:
space:
mode:
authorJonathan Herman <hermanjl@cs.unc.edu>2012-09-30 18:26:21 -0400
committerJonathan Herman <hermanjl@cs.unc.edu>2012-09-30 18:26:21 -0400
commit696ff3d97e631739c21daf15d2f3484ee9b7cb02 (patch)
tree4baf76afa81806855751228cba54fac109d9397f /litmus/rt_domain.c
parente9fc09f4bd2bae682cea6e7155aad1fe3f58e77b (diff)
parentfb90f3b6a8a604a9aed7249045bfed77ce42de5b (diff)
Fixed sched_color run issues.
Diffstat (limited to 'litmus/rt_domain.c')
-rw-r--r--litmus/rt_domain.c15
1 files changed, 9 insertions, 6 deletions
diff --git a/litmus/rt_domain.c b/litmus/rt_domain.c
index faf876623d62..c63bd0303916 100644
--- a/litmus/rt_domain.c
+++ b/litmus/rt_domain.c
@@ -20,7 +20,7 @@
20#include <litmus/bheap.h> 20#include <litmus/bheap.h>
21 21
22/* Uncomment when debugging timer races... */ 22/* Uncomment when debugging timer races... */
23#if 0 23#if 1
24#define VTRACE_TASK TRACE_TASK 24#define VTRACE_TASK TRACE_TASK
25#define VTRACE TRACE 25#define VTRACE TRACE
26#else 26#else
@@ -53,14 +53,15 @@ static void do_release(struct release_heap *rh)
53{ 53{
54 unsigned long flags; 54 unsigned long flags;
55 55
56 if (CRIT_LEVEL_B == rh->dom->level) 56 if (CRIT_LEVEL_B == rh->dom->level) {
57 TS_LVLB_RELEASE_START; 57 TS_LVLB_RELEASE_START;
58 else 58 } else {
59 TS_LVLC_RELEASE_START; 59 TS_LVLC_RELEASE_START;
60 }
60 61
61 TS_RELEASE_LATENCY(rh->release_time); 62 TS_RELEASE_LATENCY(rh->release_time);
62 63
63 VTRACE("on_release_timer(0x%p) starts.\n", timer); 64 VTRACE("on_release_timer starts.\n");
64 65
65 TS_RELEASE_START; 66 TS_RELEASE_START;
66 67
@@ -74,10 +75,11 @@ static void do_release(struct release_heap *rh)
74 /* call release callback */ 75 /* call release callback */
75 rh->dom->release_jobs(rh->dom, &rh->heap); 76 rh->dom->release_jobs(rh->dom, &rh->heap);
76 77
77 if (CRIT_LEVEL_B == rh->dom->level) 78 if (CRIT_LEVEL_B == rh->dom->level) {
78 TS_LVLB_RELEASE_END; 79 TS_LVLB_RELEASE_END;
79 else 80 } else {
80 TS_LVLC_RELEASE_END; 81 TS_LVLC_RELEASE_END;
82 }
81} 83}
82 84
83#ifdef CONFIG_MERGE_TIMERS 85#ifdef CONFIG_MERGE_TIMERS
@@ -267,6 +269,7 @@ static void setup_release(rt_domain_t *_rt)
267 list_for_each_safe(pos, safe, &list) { 269 list_for_each_safe(pos, safe, &list) {
268 /* pick task of work list */ 270 /* pick task of work list */
269 t = list_entry(pos, struct task_struct, rt_param.list); 271 t = list_entry(pos, struct task_struct, rt_param.list);
272 sched_trace_task_release(t);
270 list_del_init(pos); 273 list_del_init(pos);
271 274
272 /* put into release heap while holding release_lock */ 275 /* put into release heap while holding release_lock */