aboutsummaryrefslogtreecommitdiffstats
path: root/include/litmus/locking.h
diff options
context:
space:
mode:
authorGlenn Elliott <gelliott@cs.unc.edu>2013-02-08 20:11:35 -0500
committerGlenn Elliott <gelliott@cs.unc.edu>2013-02-08 20:11:35 -0500
commit71d7f3404ed6d11497ead7d6e41a49188e094f74 (patch)
tree3c25b061ec0df7afa4c354caecddafe142de7a05 /include/litmus/locking.h
parente55f02611ab64ec1163f3035257f0e2120f0f3ed (diff)
Make PRIOQ &DGLs work. hangs w/ ikglp though
Diffstat (limited to 'include/litmus/locking.h')
-rw-r--r--include/litmus/locking.h6
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
72void init_dgl_waitqueue_entry(wait_queue_t *wq_node, dgl_wait_state_t* dgl_wait); 72void init_dgl_waitqueue_entry(wait_queue_t *wq_node, dgl_wait_state_t* dgl_wait);
73int dgl_wake_up(wait_queue_t *wq_node, unsigned mode, int sync, void *key); 73int dgl_wake_up(wait_queue_t *wq_node, unsigned mode, int sync, void *key);
74void __waitqueue_dgl_remove_first(wait_queue_head_t *wq, dgl_wait_state_t** dgl_wait, struct task_struct **task); 74struct task_struct* __waitqueue_dgl_remove_first(wait_queue_head_t *wq, dgl_wait_state_t** dgl_wait);
75
76 75
77int __attempt_atomic_dgl_acquire(struct litmus_lock *cur_lock, dgl_wait_state_t *dgl_wait); 76int __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);