aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBjoern B. Brandenburg <bbb@cs.unc.edu>2011-07-28 01:30:09 -0400
committerBjoern B. Brandenburg <bbb@cs.unc.edu>2011-07-28 01:30:31 -0400
commitfd0411b89de1df4177dcb6879fd259f4ceb01fb6 (patch)
tree2df0d21215a85470f88c7bf5b44ce1fbc30f9b97
parent3cb580c79be9230cbc3ebb9021a78df347e6d13c (diff)
Litmus core: always np.preempt flag
Avoids getting tasks getting stuck in sched_yield() loops.
-rw-r--r--include/litmus/litmus.h15
1 files changed, 5 insertions, 10 deletions
diff --git a/include/litmus/litmus.h b/include/litmus/litmus.h
index 727357973328..a263bc68a7b5 100644
--- a/include/litmus/litmus.h
+++ b/include/litmus/litmus.h
@@ -161,12 +161,6 @@ static inline void request_exit_np(struct task_struct *t)
161 } 161 }
162} 162}
163 163
164static inline void clear_exit_np(struct task_struct *t)
165{
166 if (likely(tsk_rt(t)->ctrl_page))
167 tsk_rt(t)->ctrl_page->sched.np.preempt = 0;
168}
169
170static inline void make_np(struct task_struct *t) 164static inline void make_np(struct task_struct *t)
171{ 165{
172 tsk_rt(t)->kernel_np++; 166 tsk_rt(t)->kernel_np++;
@@ -226,10 +220,6 @@ static inline void request_exit_np(struct task_struct *t)
226 BUG(); 220 BUG();
227} 221}
228 222
229static inline void clear_exit_np(struct task_struct* t)
230{
231}
232
233static inline int request_exist_np_atomic(struct task_struct *t) 223static inline int request_exist_np_atomic(struct task_struct *t)
234{ 224{
235 return 0; 225 return 0;
@@ -237,6 +227,11 @@ static inline int request_exist_np_atomic(struct task_struct *t)
237 227
238#endif 228#endif
239 229
230static inline void clear_exit_np(struct task_struct *t)
231{
232 if (likely(tsk_rt(t)->ctrl_page))
233 tsk_rt(t)->ctrl_page->sched.np.preempt = 0;
234}
240 235
241static inline int is_np(struct task_struct *t) 236static inline int is_np(struct task_struct *t)
242{ 237{