aboutsummaryrefslogtreecommitdiffstats
path: root/litmus/sched_litmus.c
diff options
context:
space:
mode:
authorAndrea Bastoni <bastoni@cs.unc.edu>2010-10-23 01:01:49 -0400
committerAndrea Bastoni <bastoni@cs.unc.edu>2010-10-23 01:01:49 -0400
commit3dd41424090a0ca3a660218d06afe6ff4441bad3 (patch)
tree511ef1bb1799027fc5aad574adce49120ecadd87 /litmus/sched_litmus.c
parent5c5456402d467969b217d7fdd6670f8c8600f5a8 (diff)
parentf6f94e2ab1b33f0082ac22d71f66385a60d8157f (diff)
Merge commit 'v2.6.36' into wip-merge-2.6.36
Conflicts: Makefile arch/x86/include/asm/unistd_32.h arch/x86/kernel/syscall_table_32.S kernel/sched.c kernel/time/tick-sched.c Relevant API and functions changes (solved in this commit): - (API) .enqueue_task() (enqueue_task_litmus), dequeue_task() (dequeue_task_litmus), [litmus/sched_litmus.c] - (API) .select_task_rq() (select_task_rq_litmus) [litmus/sched_litmus.c] - (API) sysrq_dump_trace_buffer() and sysrq_handle_kill_rt_tasks() [litmus/sched_trace.c] - struct kfifo internal buffer name changed (buffer -> buf) [litmus/sched_trace.c] - add_wait_queue_exclusive_locked -> __add_wait_queue_tail_exclusive [litmus/fmlp.c] - syscall numbers for both x86_32 and x86_64
Diffstat (limited to 'litmus/sched_litmus.c')
-rw-r--r--litmus/sched_litmus.c12
1 files changed, 7 insertions, 5 deletions
diff --git a/litmus/sched_litmus.c b/litmus/sched_litmus.c
index 3ed713b8791b..65873152e68f 100644
--- a/litmus/sched_litmus.c
+++ b/litmus/sched_litmus.c
@@ -154,9 +154,9 @@ litmus_schedule(struct rq *rq, struct task_struct *prev)
154} 154}
155 155
156static void enqueue_task_litmus(struct rq *rq, struct task_struct *p, 156static void enqueue_task_litmus(struct rq *rq, struct task_struct *p,
157 int wakeup, bool head) 157 int flags)
158{ 158{
159 if (wakeup) { 159 if (flags & ENQUEUE_WAKEUP) {
160 sched_trace_task_resume(p); 160 sched_trace_task_resume(p);
161 tsk_rt(p)->present = 1; 161 tsk_rt(p)->present = 1;
162 /* LITMUS^RT plugins need to update the state 162 /* LITMUS^RT plugins need to update the state
@@ -176,9 +176,10 @@ static void enqueue_task_litmus(struct rq *rq, struct task_struct *p,
176 TRACE_TASK(p, "ignoring an enqueue, not a wake up.\n"); 176 TRACE_TASK(p, "ignoring an enqueue, not a wake up.\n");
177} 177}
178 178
179static void dequeue_task_litmus(struct rq *rq, struct task_struct *p, int sleep) 179static void dequeue_task_litmus(struct rq *rq, struct task_struct *p,
180 int flags)
180{ 181{
181 if (sleep) { 182 if (flags & DEQUEUE_SLEEP) {
182 litmus->task_block(p); 183 litmus->task_block(p);
183 tsk_rt(p)->present = 0; 184 tsk_rt(p)->present = 0;
184 sched_trace_task_block(p); 185 sched_trace_task_block(p);
@@ -279,7 +280,8 @@ static void set_curr_task_litmus(struct rq *rq)
279 * We don't care about the scheduling domain; can gets called from 280 * We don't care about the scheduling domain; can gets called from
280 * exec, fork, wakeup. 281 * exec, fork, wakeup.
281 */ 282 */
282static int select_task_rq_litmus(struct task_struct *p, int sd_flag, int flags) 283static int select_task_rq_litmus(struct rq *rq, struct task_struct *p,
284 int sd_flag, int flags)
283{ 285{
284 /* preemption is already disabled. 286 /* preemption is already disabled.
285 * We don't want to change cpu here 287 * We don't want to change cpu here