aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBjoern B. Brandenburg <bbb@cs.unc.edu>2011-07-28 16:47:18 -0400
committerChristopher Kenna <cjk@cs.unc.edu>2011-10-10 17:29:44 -0400
commitcdf72c79a135a993f0ad464b8fbc61f8e71948eb (patch)
tree9092caf92473d26f5d0b99ae1c88ec7c2b503bae
parentd0d4d8dbb2c61fe2f693e4d9ded04489bddd7b53 (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.