diff options
author | Glenn Elliott <gelliott@cs.unc.edu> | 2013-01-21 20:00:29 -0500 |
---|---|---|
committer | Glenn Elliott <gelliott@cs.unc.edu> | 2013-01-21 20:00:29 -0500 |
commit | 95717fa9f4b9f725928e898c42fb0e711e896311 (patch) | |
tree | 6c552bd879cdafcd90b6bdacdc167338dd3189bf /litmus/ikglp_lock.c | |
parent | 84aa3706d63edda13560ff812740cac0adf744e1 (diff) |
Fixed case where blocked tasks are released.
Fixed bug where AUX tasks were being added to the
ready queue while those AUX tasks were actually blocked.
Bug stems from the fact that the AUX tasks do not
make themselves realtime, but another thread does this
instead. Also fixed minor bugs elsewhere.
NOTE: ONLY FIXES C-EDF. OTHER PLUGINS REMAIN TO BE FIXED.
Diffstat (limited to 'litmus/ikglp_lock.c')
-rw-r--r-- | litmus/ikglp_lock.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/litmus/ikglp_lock.c b/litmus/ikglp_lock.c index aa6b659e437d..170c43fcc78e 100644 --- a/litmus/ikglp_lock.c +++ b/litmus/ikglp_lock.c | |||
@@ -870,7 +870,8 @@ static void ikglp_enqueue_on_donor(struct ikglp_semaphore *sem, | |||
870 | } | 870 | } |
871 | else { | 871 | else { |
872 | TRACE_TASK(t, "No change in effective priority (it is %d/%s). BUG?\n", | 872 | TRACE_TASK(t, "No change in effective priority (it is %d/%s). BUG?\n", |
873 | new_max_eff_prio->comm, new_max_eff_prio->pid); | 873 | (new_max_eff_prio) ? new_max_eff_prio->comm : "nil", |
874 | (new_max_eff_prio) ? new_max_eff_prio->pid : -1); | ||
874 | raw_spin_unlock(&tsk_rt(donee)->hp_blocked_tasks_lock); | 875 | raw_spin_unlock(&tsk_rt(donee)->hp_blocked_tasks_lock); |
875 | unlock_fine_irqrestore(&sem->lock, flags); | 876 | unlock_fine_irqrestore(&sem->lock, flags); |
876 | } | 877 | } |