diff options
author | Bjoern B. Brandenburg <bbb@cs.unc.edu> | 2011-07-28 01:30:09 -0400 |
---|---|---|
committer | Bjoern B. Brandenburg <bbb@cs.unc.edu> | 2011-07-28 01:30:31 -0400 |
commit | fd0411b89de1df4177dcb6879fd259f4ceb01fb6 (patch) | |
tree | 2df0d21215a85470f88c7bf5b44ce1fbc30f9b97 | |
parent | 3cb580c79be9230cbc3ebb9021a78df347e6d13c (diff) |
Litmus core: always np.preempt flag
Avoids getting tasks getting stuck in sched_yield() loops.
-rw-r--r-- | include/litmus/litmus.h | 15 |
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 | ||
164 | static 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 | |||
170 | static inline void make_np(struct task_struct *t) | 164 | static 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 | ||
229 | static inline void clear_exit_np(struct task_struct* t) | ||
230 | { | ||
231 | } | ||
232 | |||
233 | static inline int request_exist_np_atomic(struct task_struct *t) | 223 | static 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 | ||
230 | static 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 | ||
241 | static inline int is_np(struct task_struct *t) | 236 | static inline int is_np(struct task_struct *t) |
242 | { | 237 | { |