aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBjoern B. Brandenburg <bbb@cs.unc.edu>2011-07-28 16:47:18 -0400
committerBjoern B. Brandenburg <bbb@cs.unc.edu>2011-07-28 16:47:18 -0400
commitac58d244d2a1830ba6a4f34ab31bc992d5c0e4aa (patch)
treebc561907e3d44778eb60c73c257f17e84c4db994
parent7096c41337a97c78dbaf4a7f6db970e837e4136a (diff)
Litmus core: trace syscall overhead in sched_yield()
-rw-r--r--litmus/sched_litmus.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/litmus/sched_litmus.c b/litmus/sched_litmus.c
index 231c86daa1f9..0687be0c8a78 100644
--- a/litmus/sched_litmus.c
+++ b/litmus/sched_litmus.c
@@ -196,6 +196,7 @@ static void yield_task_litmus(struct rq *rq)
196{ 196{
197 TS_SYSCALL_IN_START; 197 TS_SYSCALL_IN_START;
198 198
199 TS_SYSCALL_OUT_END;
199 BUG_ON(rq->curr != current); 200 BUG_ON(rq->curr != current);
200 /* sched_yield() is called to trigger delayed preemptions. 201 /* sched_yield() is called to trigger delayed preemptions.
201 * Thus, mark the current task as needing to be rescheduled. 202 * Thus, mark the current task as needing to be rescheduled.
@@ -204,6 +205,8 @@ static void yield_task_litmus(struct rq *rq)
204 */ 205 */
205 clear_exit_np(current); 206 clear_exit_np(current);
206 litmus_reschedule_local(); 207 litmus_reschedule_local();
208
209 TS_SYSCALL_OUT_START;
207} 210}
208 211
209/* Plugins are responsible for this. 212/* Plugins are responsible for this.