From: Kris Van Hees Date: Thu, 7 Feb 2013 21:35:09 +0000 (-0500) Subject: dtrace: move SDT call location for surrender probe X-Git-Tag: v4.1.12-92~313^2~91 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=bbc9fbe54937c461c75df378f7f958bc59b582ac;p=users%2Fjedix%2Flinux-maple.git dtrace: move SDT call location for surrender probe Signed-off-by: Kris Van Hees --- diff --git a/kernel/sched/core.c b/kernel/sched/core.c index 0c0dc2b36058..801a275d5d0e 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c @@ -4229,8 +4229,6 @@ SYSCALL_DEFINE0(sched_yield) schedstat_inc(rq, yld_count); current->sched_class->yield_task(rq); - DTRACE_SCHED1(surrender, struct task_struct *, current); - /* * Since we are going to call schedule() anyway, there's * no need to preempt or enable interrupts: @@ -4240,6 +4238,7 @@ SYSCALL_DEFINE0(sched_yield) do_raw_spin_unlock(&rq->lock); sched_preempt_enable_no_resched(); + DTRACE_SCHED1(surrender, struct task_struct *, current); schedule(); return 0; @@ -4379,8 +4378,6 @@ again: yielded = curr->sched_class->yield_to_task(rq, p, preempt); if (yielded) { - DTRACE_SCHED1(surrender, struct task_struct *, curr); - schedstat_inc(rq, yld_count); /* * Make p's CPU reschedule; pick_next_entity takes care of @@ -4395,8 +4392,10 @@ out_unlock: out_irq: local_irq_restore(flags); - if (yielded > 0) + if (yielded > 0) { + DTRACE_SCHED1(surrender, struct task_struct *, curr); schedule(); + } return yielded; }