aboutsummaryrefslogtreecommitdiffstats
path: root/kernel
diff options
context:
space:
mode:
authorBjoern B. Brandenburg <bbb@cs.unc.edu>2008-05-22 11:49:47 -0400
committerBjoern B. Brandenburg <bbb@cs.unc.edu>2008-05-22 11:49:47 -0400
commit4e94db6f1c0341c5e64f0f1487de63420fb7a163 (patch)
tree573b43d84290554f38caaf36800af3a83e0a1325 /kernel
parent05684bf81966b173b9387a06a72a36c8a047eba5 (diff)
record task type in feather trace time stamp
Diffstat (limited to 'kernel')
-rw-r--r--kernel/sched.c22
1 files changed, 11 insertions, 11 deletions
diff --git a/kernel/sched.c b/kernel/sched.c
index 7bc6f9a1bb..7f1de34b1c 100644
--- a/kernel/sched.c
+++ b/kernel/sched.c
@@ -3493,7 +3493,7 @@ void scheduler_tick(void)
3493 struct task_struct *curr = rq->curr; 3493 struct task_struct *curr = rq->curr;
3494 u64 next_tick = rq->tick_timestamp + TICK_NSEC; 3494 u64 next_tick = rq->tick_timestamp + TICK_NSEC;
3495 3495
3496 TS_TICK_START; 3496 TS_TICK_START(current);
3497 spin_lock(&rq->lock); 3497 spin_lock(&rq->lock);
3498 __update_rq_clock(rq); 3498 __update_rq_clock(rq);
3499 /* 3499 /*
@@ -3515,7 +3515,7 @@ void scheduler_tick(void)
3515 if (!is_realtime(current)) 3515 if (!is_realtime(current))
3516 trigger_load_balance(rq, cpu); 3516 trigger_load_balance(rq, cpu);
3517#endif 3517#endif
3518 TS_TICK_END; 3518 TS_TICK_END(current);
3519} 3519}
3520 3520
3521#if defined(CONFIG_PREEMPT) && defined(CONFIG_DEBUG_PREEMPT) 3521#if defined(CONFIG_PREEMPT) && defined(CONFIG_DEBUG_PREEMPT)
@@ -3654,7 +3654,7 @@ need_resched:
3654 3654
3655 release_kernel_lock(prev); 3655 release_kernel_lock(prev);
3656need_resched_nonpreemptible: 3656need_resched_nonpreemptible:
3657 TS_SCHED_START; 3657 TS_SCHED_START(prev);
3658 3658
3659 schedule_debug(prev); 3659 schedule_debug(prev);
3660 3660
@@ -3692,30 +3692,30 @@ need_resched_nonpreemptible:
3692 rq->curr = next; 3692 rq->curr = next;
3693 ++*switch_count; 3693 ++*switch_count;
3694 3694
3695 TS_SCHED_END; 3695 TS_SCHED_END(next);
3696 TS_CXS_START; 3696 TS_CXS_START(prev);
3697 context_switch(rq, prev, next); /* unlocks the rq */ 3697 context_switch(rq, prev, next); /* unlocks the rq */
3698 TS_CXS_END; 3698 TS_CXS_END(current);
3699 } else { 3699 } else {
3700 TS_SCHED_END; 3700 TS_SCHED_END(prev);
3701 spin_unlock_irq(&rq->lock); 3701 spin_unlock_irq(&rq->lock);
3702 } 3702 }
3703 TS_SCHED2_START; 3703 TS_SCHED2_START(current);
3704 3704
3705 tick_no_rqlock(); 3705 tick_no_rqlock();
3706 3706
3707 if (unlikely(reacquire_kernel_lock(current) < 0)) { 3707 if (unlikely(reacquire_kernel_lock(current) < 0)) {
3708 cpu = smp_processor_id(); 3708 cpu = smp_processor_id();
3709 rq = cpu_rq(cpu); 3709 rq = cpu_rq(cpu);
3710 TS_SCHED2_END; 3710 TS_SCHED2_END(current);
3711 goto need_resched_nonpreemptible; 3711 goto need_resched_nonpreemptible;
3712 } 3712 }
3713 preempt_enable_no_resched(); 3713 preempt_enable_no_resched();
3714 if (unlikely(test_thread_flag(TIF_NEED_RESCHED))) { 3714 if (unlikely(test_thread_flag(TIF_NEED_RESCHED))) {
3715 TS_SCHED2_END; 3715 TS_SCHED2_END(current);
3716 goto need_resched; 3716 goto need_resched;
3717 } 3717 }
3718 TS_SCHED2_END; 3718 TS_SCHED2_END(current);
3719 if (srp_active()) 3719 if (srp_active())
3720 srp_ceiling_block(); 3720 srp_ceiling_block();
3721} 3721}