aboutsummaryrefslogtreecommitdiffstats
path: root/include/litmus/locking.h
diff options
context:
space:
mode:
authorGlenn Elliott <gelliott@cs.unc.edu>2012-09-17 19:31:04 -0400
committerGlenn Elliott <gelliott@cs.unc.edu>2012-09-17 19:31:04 -0400
commitba54b1096870fba6e3bbb99aafc713e76b747353 (patch)
tree26727a7f89ca520392fec0b559f09500cb9934ac /include/litmus/locking.h
parentef0974bf8e768b38d728f3bba147332ddea1e11b (diff)
Fixed three bugs with aux threads and nested locks
Fixes two bugs with nested locks: 1) List of aux threads could become corrupted. -- moved modifications to be within scheduler lock. 2) Fixed bad EDF comparison ordering that could lead to schedule thrashing in an infinite loop. 3) Prevent aux threads from inheriting a priority from a task that is blocked on a real-time litmus lock. (since the aux threads can't possibly hold these locks, we don't have to worry about inheritance.)
Diffstat (limited to 'include/litmus/locking.h')
-rw-r--r--include/litmus/locking.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/include/litmus/locking.h b/include/litmus/locking.h
index 296bbf6f7af0..4a5f198a0407 100644
--- a/include/litmus/locking.h
+++ b/include/litmus/locking.h
@@ -156,5 +156,8 @@ struct litmus_lock_ops {
156#endif 156#endif
157 157
158 158
159void suspend_for_lock(void);
160
161
159#endif 162#endif
160 163