diff options
author | Glenn Elliott <gelliott@cs.unc.edu> | 2013-02-08 20:11:35 -0500 |
---|---|---|
committer | Glenn Elliott <gelliott@cs.unc.edu> | 2013-02-08 20:11:35 -0500 |
commit | 71d7f3404ed6d11497ead7d6e41a49188e094f74 (patch) | |
tree | 3c25b061ec0df7afa4c354caecddafe142de7a05 /include/litmus/locking.h | |
parent | e55f02611ab64ec1163f3035257f0e2120f0f3ed (diff) |
Make PRIOQ &DGLs work. hangs w/ ikglp though
Diffstat (limited to 'include/litmus/locking.h')
-rw-r--r-- | include/litmus/locking.h | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/include/litmus/locking.h b/include/litmus/locking.h index 660bfc7f8174..cbc99ee54020 100644 --- a/include/litmus/locking.h +++ b/include/litmus/locking.h | |||
@@ -11,7 +11,7 @@ struct nested_info | |||
11 | struct litmus_lock *lock; | 11 | struct litmus_lock *lock; |
12 | struct task_struct *hp_waiter_eff_prio; | 12 | struct task_struct *hp_waiter_eff_prio; |
13 | struct task_struct **hp_waiter_ptr; | 13 | struct task_struct **hp_waiter_ptr; |
14 | struct task_struct **owner_ptr; | 14 | // struct task_struct **owner_ptr; |
15 | struct binheap_node hp_binheap_node; | 15 | struct binheap_node hp_binheap_node; |
16 | }; | 16 | }; |
17 | 17 | ||
@@ -71,8 +71,7 @@ void select_next_lock(dgl_wait_state_t* dgl_wait /*, struct litmus_lock* prev_lo | |||
71 | 71 | ||
72 | void init_dgl_waitqueue_entry(wait_queue_t *wq_node, dgl_wait_state_t* dgl_wait); | 72 | void init_dgl_waitqueue_entry(wait_queue_t *wq_node, dgl_wait_state_t* dgl_wait); |
73 | int dgl_wake_up(wait_queue_t *wq_node, unsigned mode, int sync, void *key); | 73 | int dgl_wake_up(wait_queue_t *wq_node, unsigned mode, int sync, void *key); |
74 | void __waitqueue_dgl_remove_first(wait_queue_head_t *wq, dgl_wait_state_t** dgl_wait, struct task_struct **task); | 74 | struct task_struct* __waitqueue_dgl_remove_first(wait_queue_head_t *wq, dgl_wait_state_t** dgl_wait); |
75 | |||
76 | 75 | ||
77 | int __attempt_atomic_dgl_acquire(struct litmus_lock *cur_lock, dgl_wait_state_t *dgl_wait); | 76 | int __attempt_atomic_dgl_acquire(struct litmus_lock *cur_lock, dgl_wait_state_t *dgl_wait); |
78 | #endif | 77 | #endif |
@@ -131,6 +130,7 @@ struct litmus_lock_ops { | |||
131 | raw_spinlock_t* (*get_dgl_spin_lock)(struct litmus_lock *l); | 130 | raw_spinlock_t* (*get_dgl_spin_lock)(struct litmus_lock *l); |
132 | int (*dgl_lock)(struct litmus_lock *l, dgl_wait_state_t* dgl_wait, wait_queue_t* wq_node); | 131 | int (*dgl_lock)(struct litmus_lock *l, dgl_wait_state_t* dgl_wait, wait_queue_t* wq_node); |
133 | int (*is_owner)(struct litmus_lock *l, struct task_struct *t); | 132 | int (*is_owner)(struct litmus_lock *l, struct task_struct *t); |
133 | struct task_struct* (*get_owner)(struct litmus_lock *l); | ||
134 | void (*enable_priority)(struct litmus_lock *l, dgl_wait_state_t* dgl_wait); | 134 | void (*enable_priority)(struct litmus_lock *l, dgl_wait_state_t* dgl_wait); |
135 | 135 | ||
136 | int (*dgl_can_quick_lock)(struct litmus_lock *l, struct task_struct *t); | 136 | int (*dgl_can_quick_lock)(struct litmus_lock *l, struct task_struct *t); |