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:34:45 -0400
commitd9b5000b74bbc468624f877495443b33f9511922 (patch)
treec0efc70114f208916f0b0b32f85d8c80ab25b89e /include/litmus/locking.h
parentb247fd41c493e7bd3cd33cb1c4b7c46420d16364 (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