aboutsummaryrefslogtreecommitdiffstats
path: root/litmus
diff options
context:
space:
mode:
Diffstat (limited to 'litmus')
-rw-r--r--litmus/sched_gsn_edf.c6
-rw-r--r--litmus/sched_litmus.c3
2 files changed, 6 insertions, 3 deletions
diff --git a/litmus/sched_gsn_edf.c b/litmus/sched_gsn_edf.c
index dffea128739f..9debea981419 100644
--- a/litmus/sched_gsn_edf.c
+++ b/litmus/sched_gsn_edf.c
@@ -266,8 +266,8 @@ static void check_for_preemptions(void)
266 last = lowest_prio_cpu()) { 266 last = lowest_prio_cpu()) {
267 /* preemption necessary */ 267 /* preemption necessary */
268 task = __take_ready(&gsnedf); 268 task = __take_ready(&gsnedf);
269 TRACE("check_for_preemptions: attempting to link task %d to %d\n", 269 TRACE_TASK(task, "attempting to link to P%d\n",
270 task->pid, last->cpu); 270 last->cpu);
271 if (last->linked) 271 if (last->linked)
272 requeue(last->linked); 272 requeue(last->linked);
273 link_task_to_cpu(task, last); 273 link_task_to_cpu(task, last);
@@ -409,7 +409,7 @@ static struct task_struct* gsnedf_schedule(struct task_struct * prev)
409 "state:%d sig:%d\n", 409 "state:%d sig:%d\n",
410 blocks, out_of_time, np, sleep, preempt, 410 blocks, out_of_time, np, sleep, preempt,
411 prev->state, signal_pending(prev)); 411 prev->state, signal_pending(prev));
412 if (entry->linked && preempt) 412 if (entry->linked && preempt && !np)
413 TRACE_TASK(prev, "will be preempted by %s/%d\n", 413 TRACE_TASK(prev, "will be preempted by %s/%d\n",
414 entry->linked->comm, entry->linked->pid); 414 entry->linked->comm, entry->linked->pid);
415 415
diff --git a/litmus/sched_litmus.c b/litmus/sched_litmus.c
index 0687be0c8a78..faf2312b762e 100644
--- a/litmus/sched_litmus.c
+++ b/litmus/sched_litmus.c
@@ -197,6 +197,9 @@ static void yield_task_litmus(struct rq *rq)
197 TS_SYSCALL_IN_START; 197 TS_SYSCALL_IN_START;
198 198
199 TS_SYSCALL_OUT_END; 199 TS_SYSCALL_OUT_END;
200
201 TRACE_CUR("yields\n");
202
200 BUG_ON(rq->curr != current); 203 BUG_ON(rq->curr != current);
201 /* sched_yield() is called to trigger delayed preemptions. 204 /* sched_yield() is called to trigger delayed preemptions.
202 * Thus, mark the current task as needing to be rescheduled. 205 * Thus, mark the current task as needing to be rescheduled.