diff options
author | Bjoern B. Brandenburg <bbb@cs.unc.edu> | 2008-05-22 11:49:47 -0400 |
---|---|---|
committer | Bjoern B. Brandenburg <bbb@cs.unc.edu> | 2008-05-22 11:49:47 -0400 |
commit | 4e94db6f1c0341c5e64f0f1487de63420fb7a163 (patch) | |
tree | 573b43d84290554f38caaf36800af3a83e0a1325 /kernel | |
parent | 05684bf81966b173b9387a06a72a36c8a047eba5 (diff) |
record task type in feather trace time stamp
Diffstat (limited to 'kernel')
-rw-r--r-- | kernel/sched.c | 22 |
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); |
3656 | need_resched_nonpreemptible: | 3656 | need_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 | } |