aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBjoern B. Brandenburg <bbb@cs.unc.edu>2009-04-22 23:22:15 -0400
committerBjoern B. Brandenburg <bbb@cs.unc.edu>2009-04-22 23:22:15 -0400
commitbf32cbddd585d1cbc7ab7dd2f96bd72d6a2c2173 (patch)
tree425f89ebfdf16eebccbb06aa3aff31bcefeba706
parent703447b1a78ea905a90e9660a654ddf62d5d3f6d (diff)
litmus tracing: expose scheduling overhead
move the switch_from/switch_to trace macros so that the scheduling overhead shows up more clearly in the traces
-rw-r--r--kernel/sched.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/kernel/sched.c b/kernel/sched.c
index 1a5d73e744..a3e4ad1b15 100644
--- a/kernel/sched.c
+++ b/kernel/sched.c
@@ -3657,6 +3657,8 @@ need_resched:
3657need_resched_nonpreemptible: 3657need_resched_nonpreemptible:
3658 TS_SCHED_START; 3658 TS_SCHED_START;
3659 3659
3660 sched_trace_task_switch_away(prev);
3661
3660 schedule_debug(prev); 3662 schedule_debug(prev);
3661 3663
3662 /* 3664 /*
@@ -3692,8 +3694,6 @@ need_resched_nonpreemptible:
3692 rq->nr_switches++; 3694 rq->nr_switches++;
3693 rq->curr = next; 3695 rq->curr = next;
3694 ++*switch_count; 3696 ++*switch_count;
3695 sched_trace_task_switch_away(prev);
3696 sched_trace_task_switch_to(next);
3697 3697
3698 TS_SCHED_END(next); 3698 TS_SCHED_END(next);
3699 TS_CXS_START(next); 3699 TS_CXS_START(next);
@@ -3707,6 +3707,8 @@ need_resched_nonpreemptible:
3707 3707
3708 tick_no_rqlock(); 3708 tick_no_rqlock();
3709 3709
3710 sched_trace_task_switch_to(current);
3711
3710 if (unlikely(reacquire_kernel_lock(current) < 0)) { 3712 if (unlikely(reacquire_kernel_lock(current) < 0)) {
3711 cpu = smp_processor_id(); 3713 cpu = smp_processor_id();
3712 rq = cpu_rq(cpu); 3714 rq = cpu_rq(cpu);