Re: [tip:sched/core] sched, tracing: Fix trace_sched_pi_setprio() for deboosting
On 2018-05-25 02:47:20 [-0700], tip-bot for Sebastian Andrzej Siewior wrote: > Commit-ID: 4ff648decf4712d39f184fc2df3163f43975575a > Gitweb: > https://git.kernel.org/tip/4ff648decf4712d39f184fc2df3163f43975575a > Author: Sebastian Andrzej Siewior> AuthorDate: Thu, 24 May 2018 15:26:48 +0200 > Committer: Ingo Molnar > CommitDate: Fri, 25 May 2018 08:04:01 +0200 > > sched, tracing: Fix trace_sched_pi_setprio() for deboosting > > Since the following commit: > > b91473ff6e97 ("sched,tracing: Update trace_sched_pi_setprio()") > > the sched_pi_setprio trace point shows the "newprio" during a deboost: > > |futex sched_pi_setprio: comm=futex_requeue_p pid"34 oldprio newprio=3D98 > |futex sched_switch: prev_comm=futex_requeue_p prev_pid"34 prev_prio=120 pid=2234 got turned into pid"34 the same for other fields. Sebastian
Re: [tip:sched/core] sched, tracing: Fix trace_sched_pi_setprio() for deboosting
On 2018-05-25 02:47:20 [-0700], tip-bot for Sebastian Andrzej Siewior wrote: > Commit-ID: 4ff648decf4712d39f184fc2df3163f43975575a > Gitweb: > https://git.kernel.org/tip/4ff648decf4712d39f184fc2df3163f43975575a > Author: Sebastian Andrzej Siewior > AuthorDate: Thu, 24 May 2018 15:26:48 +0200 > Committer: Ingo Molnar > CommitDate: Fri, 25 May 2018 08:04:01 +0200 > > sched, tracing: Fix trace_sched_pi_setprio() for deboosting > > Since the following commit: > > b91473ff6e97 ("sched,tracing: Update trace_sched_pi_setprio()") > > the sched_pi_setprio trace point shows the "newprio" during a deboost: > > |futex sched_pi_setprio: comm=futex_requeue_p pid"34 oldprio newprio=3D98 > |futex sched_switch: prev_comm=futex_requeue_p prev_pid"34 prev_prio=120 pid=2234 got turned into pid"34 the same for other fields. Sebastian
[tip:sched/core] sched, tracing: Fix trace_sched_pi_setprio() for deboosting
Commit-ID: 4ff648decf4712d39f184fc2df3163f43975575a Gitweb: https://git.kernel.org/tip/4ff648decf4712d39f184fc2df3163f43975575a Author: Sebastian Andrzej SiewiorAuthorDate: Thu, 24 May 2018 15:26:48 +0200 Committer: Ingo Molnar CommitDate: Fri, 25 May 2018 08:04:01 +0200 sched, tracing: Fix trace_sched_pi_setprio() for deboosting Since the following commit: b91473ff6e97 ("sched,tracing: Update trace_sched_pi_setprio()") the sched_pi_setprio trace point shows the "newprio" during a deboost: |futex sched_pi_setprio: comm=futex_requeue_p pid"34 oldprio newprio=3D98 |futex sched_switch: prev_comm=futex_requeue_p prev_pid"34 prev_prio=120 This patch open codes __rt_effective_prio() in the tracepoint as the 'newprio' to get the old behaviour back / the correct priority: |futex sched_pi_setprio: comm=futex_requeue_p pid"20 oldprio newprio=3D120 |futex sched_switch: prev_comm=futex_requeue_p prev_pid"20 prev_prio=120 Peter suggested to open code the new priority so people using tracehook could get the deadline data out. Reported-by: Mansky Christian Signed-off-by: Sebastian Andrzej Siewior Signed-off-by: Peter Zijlstra (Intel) Cc: Linus Torvalds Cc: Peter Zijlstra Cc: Steven Rostedt Cc: Thomas Gleixner Fixes: b91473ff6e97 ("sched,tracing: Update trace_sched_pi_setprio()") Link: http://lkml.kernel.org/r/20180524132647.gg6ziuogczdmj...@linutronix.de Signed-off-by: Ingo Molnar --- include/trace/events/sched.h | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/include/trace/events/sched.h b/include/trace/events/sched.h index bc01e06bc716..0be866c91f62 100644 --- a/include/trace/events/sched.h +++ b/include/trace/events/sched.h @@ -435,7 +435,9 @@ TRACE_EVENT(sched_pi_setprio, memcpy(__entry->comm, tsk->comm, TASK_COMM_LEN); __entry->pid= tsk->pid; __entry->oldprio= tsk->prio; - __entry->newprio= pi_task ? pi_task->prio : tsk->prio; + __entry->newprio= pi_task ? + min(tsk->normal_prio, pi_task->prio) : + tsk->normal_prio; /* XXX SCHED_DEADLINE bits missing */ ),
[tip:sched/core] sched, tracing: Fix trace_sched_pi_setprio() for deboosting
Commit-ID: 4ff648decf4712d39f184fc2df3163f43975575a Gitweb: https://git.kernel.org/tip/4ff648decf4712d39f184fc2df3163f43975575a Author: Sebastian Andrzej Siewior AuthorDate: Thu, 24 May 2018 15:26:48 +0200 Committer: Ingo Molnar CommitDate: Fri, 25 May 2018 08:04:01 +0200 sched, tracing: Fix trace_sched_pi_setprio() for deboosting Since the following commit: b91473ff6e97 ("sched,tracing: Update trace_sched_pi_setprio()") the sched_pi_setprio trace point shows the "newprio" during a deboost: |futex sched_pi_setprio: comm=futex_requeue_p pid"34 oldprio newprio=3D98 |futex sched_switch: prev_comm=futex_requeue_p prev_pid"34 prev_prio=120 This patch open codes __rt_effective_prio() in the tracepoint as the 'newprio' to get the old behaviour back / the correct priority: |futex sched_pi_setprio: comm=futex_requeue_p pid"20 oldprio newprio=3D120 |futex sched_switch: prev_comm=futex_requeue_p prev_pid"20 prev_prio=120 Peter suggested to open code the new priority so people using tracehook could get the deadline data out. Reported-by: Mansky Christian Signed-off-by: Sebastian Andrzej Siewior Signed-off-by: Peter Zijlstra (Intel) Cc: Linus Torvalds Cc: Peter Zijlstra Cc: Steven Rostedt Cc: Thomas Gleixner Fixes: b91473ff6e97 ("sched,tracing: Update trace_sched_pi_setprio()") Link: http://lkml.kernel.org/r/20180524132647.gg6ziuogczdmj...@linutronix.de Signed-off-by: Ingo Molnar --- include/trace/events/sched.h | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/include/trace/events/sched.h b/include/trace/events/sched.h index bc01e06bc716..0be866c91f62 100644 --- a/include/trace/events/sched.h +++ b/include/trace/events/sched.h @@ -435,7 +435,9 @@ TRACE_EVENT(sched_pi_setprio, memcpy(__entry->comm, tsk->comm, TASK_COMM_LEN); __entry->pid= tsk->pid; __entry->oldprio= tsk->prio; - __entry->newprio= pi_task ? pi_task->prio : tsk->prio; + __entry->newprio= pi_task ? + min(tsk->normal_prio, pi_task->prio) : + tsk->normal_prio; /* XXX SCHED_DEADLINE bits missing */ ),