diff options
author | Jonathan Herman <hermanjl@cs.unc.edu> | 2011-10-09 02:51:55 -0400 |
---|---|---|
committer | Jonathan Herman <hermanjl@cs.unc.edu> | 2011-10-09 02:51:55 -0400 |
commit | 75a56ba6a0321945786486070bf17882f4265907 (patch) | |
tree | 226ba500a9aa2fd18abdd44c80b594d2d7078d2d | |
parent | 3d39c63ff7b9ec086fd8004951af439757a2fd49 (diff) |
Fixed bug with CE higher priority
-rw-r--r-- | litmus/ce_domain.c | 5 | ||||
-rw-r--r-- | litmus/event_group.c | 3 |
2 files changed, 2 insertions, 6 deletions
diff --git a/litmus/ce_domain.c b/litmus/ce_domain.c index 5e1f7ccc000c..fd9904e29a08 100644 --- a/litmus/ce_domain.c +++ b/litmus/ce_domain.c | |||
@@ -67,12 +67,11 @@ struct task_struct* ce_peek_and_take_ready(domain_t *dom) | |||
67 | return ret; | 67 | return ret; |
68 | } | 68 | } |
69 | 69 | ||
70 | int ce_higher_prio(struct task_struct *_a, struct task_struct *_b) | 70 | int ce_higher_prio(struct task_struct *a, struct task_struct *b) |
71 | { | 71 | { |
72 | const struct task_struct *a = _a; | ||
73 | const domain_t *dom = get_task_domain(a); | 72 | const domain_t *dom = get_task_domain(a); |
74 | const struct ce_dom_data *ce_data = dom->data; | 73 | const struct ce_dom_data *ce_data = dom->data; |
75 | return (a == ce_data->should_schedule); | 74 | return (a != b && a == ce_data->should_schedule); |
76 | } | 75 | } |
77 | 76 | ||
78 | void ce_domain_init(domain_t *dom, | 77 | void ce_domain_init(domain_t *dom, |
diff --git a/litmus/event_group.c b/litmus/event_group.c index f2ee9158294b..0535f9f9bf96 100644 --- a/litmus/event_group.c +++ b/litmus/event_group.c | |||
@@ -37,9 +37,6 @@ static enum hrtimer_restart on_timer(struct hrtimer *timer) | |||
37 | 37 | ||
38 | el = container_of(timer, struct event_list, timer); | 38 | el = container_of(timer, struct event_list, timer); |
39 | 39 | ||
40 | VTRACE("Firing event at time %llu or %llu", | ||
41 | ktime_to_ns(timer->_expires), ktime_to_ns(timer->_softexpires)); | ||
42 | |||
43 | raw_spin_lock_irqsave(&el->group->queue_lock, flags); | 40 | raw_spin_lock_irqsave(&el->group->queue_lock, flags); |
44 | VTRACE("Removing event list 0x%p\n", el); | 41 | VTRACE("Removing event list 0x%p\n", el); |
45 | list_del_init(&el->queue_node); | 42 | list_del_init(&el->queue_node); |