diff options
author | Andrea Bastoni <bastoni@cs.unc.edu> | 2010-10-23 01:01:49 -0400 |
---|---|---|
committer | Andrea Bastoni <bastoni@cs.unc.edu> | 2010-10-23 01:01:49 -0400 |
commit | 3dd41424090a0ca3a660218d06afe6ff4441bad3 (patch) | |
tree | 511ef1bb1799027fc5aad574adce49120ecadd87 /litmus/sched_litmus.c | |
parent | 5c5456402d467969b217d7fdd6670f8c8600f5a8 (diff) | |
parent | f6f94e2ab1b33f0082ac22d71f66385a60d8157f (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.c | 12 |
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 | ||
156 | static void enqueue_task_litmus(struct rq *rq, struct task_struct *p, | 156 | static 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 | ||
179 | static void dequeue_task_litmus(struct rq *rq, struct task_struct *p, int sleep) | 179 | static 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 | */ |
282 | static int select_task_rq_litmus(struct task_struct *p, int sd_flag, int flags) | 283 | static 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 |