|
71 | 71 | #include <linux/debugfs.h> |
72 | 72 | #include <linux/ctype.h> |
73 | 73 | #include <linux/ftrace.h> |
| 74 | +#include <trace/sched.h> |
74 | 75 |
|
75 | 76 | #include <asm/tlb.h> |
76 | 77 | #include <asm/irq_regs.h> |
@@ -1936,6 +1937,7 @@ unsigned long wait_task_inactive(struct task_struct *p, long match_state) |
1936 | 1937 | * just go back and repeat. |
1937 | 1938 | */ |
1938 | 1939 | rq = task_rq_lock(p, &flags); |
| 1940 | + trace_sched_wait_task(rq, p); |
1939 | 1941 | running = task_running(rq, p); |
1940 | 1942 | on_rq = p->se.on_rq; |
1941 | 1943 | ncsw = 0; |
@@ -2297,9 +2299,7 @@ static int try_to_wake_up(struct task_struct *p, unsigned int state, int sync) |
2297 | 2299 | success = 1; |
2298 | 2300 |
|
2299 | 2301 | out_running: |
2300 | | - trace_mark(kernel_sched_wakeup, |
2301 | | - "pid %d state %ld ## rq %p task %p rq->curr %p", |
2302 | | - p->pid, p->state, rq, p, rq->curr); |
| 2302 | + trace_sched_wakeup(rq, p); |
2303 | 2303 | check_preempt_curr(rq, p, sync); |
2304 | 2304 |
|
2305 | 2305 | p->state = TASK_RUNNING; |
@@ -2432,9 +2432,7 @@ void wake_up_new_task(struct task_struct *p, unsigned long clone_flags) |
2432 | 2432 | p->sched_class->task_new(rq, p); |
2433 | 2433 | inc_nr_running(rq); |
2434 | 2434 | } |
2435 | | - trace_mark(kernel_sched_wakeup_new, |
2436 | | - "pid %d state %ld ## rq %p task %p rq->curr %p", |
2437 | | - p->pid, p->state, rq, p, rq->curr); |
| 2435 | + trace_sched_wakeup_new(rq, p); |
2438 | 2436 | check_preempt_curr(rq, p, 0); |
2439 | 2437 | #ifdef CONFIG_SMP |
2440 | 2438 | if (p->sched_class->task_wake_up) |
@@ -2607,11 +2605,7 @@ context_switch(struct rq *rq, struct task_struct *prev, |
2607 | 2605 | struct mm_struct *mm, *oldmm; |
2608 | 2606 |
|
2609 | 2607 | prepare_task_switch(rq, prev, next); |
2610 | | - trace_mark(kernel_sched_schedule, |
2611 | | - "prev_pid %d next_pid %d prev_state %ld " |
2612 | | - "## rq %p prev %p next %p", |
2613 | | - prev->pid, next->pid, prev->state, |
2614 | | - rq, prev, next); |
| 2608 | + trace_sched_switch(rq, prev, next); |
2615 | 2609 | mm = next->mm; |
2616 | 2610 | oldmm = prev->active_mm; |
2617 | 2611 | /* |
@@ -2851,6 +2845,7 @@ static void sched_migrate_task(struct task_struct *p, int dest_cpu) |
2851 | 2845 | || unlikely(!cpu_active(dest_cpu))) |
2852 | 2846 | goto out; |
2853 | 2847 |
|
| 2848 | + trace_sched_migrate_task(rq, p, dest_cpu); |
2854 | 2849 | /* force the process onto the specified CPU */ |
2855 | 2850 | if (migrate_task(p, dest_cpu, &req)) { |
2856 | 2851 | /* Need to wait for migration thread (might exit: take ref). */ |
|
0 commit comments