* [PATCH 0/1] sched/deadline: Kill task_struct->pi_top_task
@ 2014-06-06 16:51 Oleg Nesterov
2014-06-06 16:52 ` [PATCH 1/1] " Oleg Nesterov
0 siblings, 1 reply; 3+ messages in thread
From: Oleg Nesterov @ 2014-06-06 16:51 UTC (permalink / raw)
To: Dario Faggioli, Juri Lelli, Ingo Molnar, Peter Zijlstra
Cc: Thomas Gleixner, linux-kernel
Hi,
The patch looks "trivial and obviously correct" but I don't understand
this code, and perhaps ->pi_top_task will have more users... Please
review.
Oleg.
^ permalink raw reply [flat|nested] 3+ messages in thread
* [PATCH 1/1] sched/deadline: Kill task_struct->pi_top_task
2014-06-06 16:51 [PATCH 0/1] sched/deadline: Kill task_struct->pi_top_task Oleg Nesterov
@ 2014-06-06 16:52 ` Oleg Nesterov
2014-07-16 19:22 ` [tip:sched/core] " tip-bot for Oleg Nesterov
0 siblings, 1 reply; 3+ messages in thread
From: Oleg Nesterov @ 2014-06-06 16:52 UTC (permalink / raw)
To: Dario Faggioli, Juri Lelli, Ingo Molnar, Peter Zijlstra
Cc: Thomas Gleixner, linux-kernel
Remove task_struct->pi_top_task. The only user, rt_mutex_setprio(),
can use a local.
Signed-off-by: Oleg Nesterov <oleg@redhat.com>
---
include/linux/sched.h | 2 --
kernel/fork.c | 1 -
kernel/sched/core.c | 6 +++---
3 files changed, 3 insertions(+), 6 deletions(-)
diff --git a/include/linux/sched.h b/include/linux/sched.h
index 82fe3da..2b426ee 100644
--- a/include/linux/sched.h
+++ b/include/linux/sched.h
@@ -1386,8 +1386,6 @@ struct task_struct {
struct rb_node *pi_waiters_leftmost;
/* Deadlock detection and priority inheritance handling */
struct rt_mutex_waiter *pi_blocked_on;
- /* Top pi_waiters task */
- struct task_struct *pi_top_task;
#endif
#ifdef CONFIG_DEBUG_MUTEXES
diff --git a/kernel/fork.c b/kernel/fork.c
index 65736ca..cafea61 100644
--- a/kernel/fork.c
+++ b/kernel/fork.c
@@ -1094,7 +1094,6 @@ static void rt_mutex_init_task(struct task_struct *p)
p->pi_waiters = RB_ROOT;
p->pi_waiters_leftmost = NULL;
p->pi_blocked_on = NULL;
- p->pi_top_task = NULL;
#endif
}
diff --git a/kernel/sched/core.c b/kernel/sched/core.c
index 268a45e..9dc8517 100644
--- a/kernel/sched/core.c
+++ b/kernel/sched/core.c
@@ -2888,7 +2888,6 @@ void rt_mutex_setprio(struct task_struct *p, int prio)
}
trace_sched_pi_setprio(p, prio);
- p->pi_top_task = rt_mutex_get_top_task(p);
oldprio = p->prio;
prev_class = p->sched_class;
on_rq = p->on_rq;
@@ -2908,8 +2907,9 @@ void rt_mutex_setprio(struct task_struct *p, int prio)
* running task
*/
if (dl_prio(prio)) {
- if (!dl_prio(p->normal_prio) || (p->pi_top_task &&
- dl_entity_preempt(&p->pi_top_task->dl, &p->dl))) {
+ struct task_struct *pi_task = rt_mutex_get_top_task(p);
+ if (!dl_prio(p->normal_prio) ||
+ (pi_task && dl_entity_preempt(&pi_task->dl, &p->dl))) {
p->dl.dl_boosted = 1;
p->dl.dl_throttled = 0;
enqueue_flag = ENQUEUE_REPLENISH;
--
1.5.5.1
^ permalink raw reply related [flat|nested] 3+ messages in thread
* [tip:sched/core] sched/deadline: Kill task_struct->pi_top_task
2014-06-06 16:52 ` [PATCH 1/1] " Oleg Nesterov
@ 2014-07-16 19:22 ` tip-bot for Oleg Nesterov
0 siblings, 0 replies; 3+ messages in thread
From: tip-bot for Oleg Nesterov @ 2014-07-16 19:22 UTC (permalink / raw)
To: linux-tip-commits
Cc: mingo, torvalds, peterz, akpm, tglx, oleg, rientjes, davidlohr,
juri.lelli, linux-kernel, hpa, daeseok.youn, raistlin,
michal.simek, ebiederm, athorlton, mdempsky
Commit-ID: 466af29bf4270e84261712428a1304c28e3743fa
Gitweb: http://git.kernel.org/tip/466af29bf4270e84261712428a1304c28e3743fa
Author: Oleg Nesterov <oleg@redhat.com>
AuthorDate: Fri, 6 Jun 2014 18:52:06 +0200
Committer: Ingo Molnar <mingo@kernel.org>
CommitDate: Wed, 16 Jul 2014 13:38:18 +0200
sched/deadline: Kill task_struct->pi_top_task
Remove task_struct->pi_top_task. The only user, rt_mutex_setprio(),
can use a local.
Signed-off-by: Oleg Nesterov <oleg@redhat.com>
Signed-off-by: Peter Zijlstra <peterz@infradead.org>
Cc: Juri Lelli <juri.lelli@gmail.com>
Cc: Alex Thorlton <athorlton@sgi.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Daeseok Youn <daeseok.youn@gmail.com>
Cc: Dario Faggioli <raistlin@linux.it>
Cc: Davidlohr Bueso <davidlohr@hp.com>
Cc: David Rientjes <rientjes@google.com>
Cc: Eric W. Biederman <ebiederm@xmission.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Matthew Dempsky <mdempsky@chromium.org>
Cc: Michal Simek <michal.simek@xilinx.com>
Cc: Oleg Nesterov <oleg@redhat.com>
Link: http://lkml.kernel.org/r/20140606165206.GB29465@redhat.com
Signed-off-by: Ingo Molnar <mingo@kernel.org>
---
include/linux/sched.h | 2 --
kernel/fork.c | 1 -
kernel/sched/core.c | 6 +++---
3 files changed, 3 insertions(+), 6 deletions(-)
diff --git a/include/linux/sched.h b/include/linux/sched.h
index 306f4f0..c9c9ff7 100644
--- a/include/linux/sched.h
+++ b/include/linux/sched.h
@@ -1440,8 +1440,6 @@ struct task_struct {
struct rb_node *pi_waiters_leftmost;
/* Deadlock detection and priority inheritance handling */
struct rt_mutex_waiter *pi_blocked_on;
- /* Top pi_waiters task */
- struct task_struct *pi_top_task;
#endif
#ifdef CONFIG_DEBUG_MUTEXES
diff --git a/kernel/fork.c b/kernel/fork.c
index d2799d1..6ff87f442 100644
--- a/kernel/fork.c
+++ b/kernel/fork.c
@@ -1095,7 +1095,6 @@ static void rt_mutex_init_task(struct task_struct *p)
p->pi_waiters = RB_ROOT;
p->pi_waiters_leftmost = NULL;
p->pi_blocked_on = NULL;
- p->pi_top_task = NULL;
#endif
}
diff --git a/kernel/sched/core.c b/kernel/sched/core.c
index 2dbc63d..cf7695a 100644
--- a/kernel/sched/core.c
+++ b/kernel/sched/core.c
@@ -2980,7 +2980,6 @@ void rt_mutex_setprio(struct task_struct *p, int prio)
}
trace_sched_pi_setprio(p, prio);
- p->pi_top_task = rt_mutex_get_top_task(p);
oldprio = p->prio;
prev_class = p->sched_class;
on_rq = p->on_rq;
@@ -3000,8 +2999,9 @@ void rt_mutex_setprio(struct task_struct *p, int prio)
* running task
*/
if (dl_prio(prio)) {
- if (!dl_prio(p->normal_prio) || (p->pi_top_task &&
- dl_entity_preempt(&p->pi_top_task->dl, &p->dl))) {
+ struct task_struct *pi_task = rt_mutex_get_top_task(p);
+ if (!dl_prio(p->normal_prio) ||
+ (pi_task && dl_entity_preempt(&pi_task->dl, &p->dl))) {
p->dl.dl_boosted = 1;
p->dl.dl_throttled = 0;
enqueue_flag = ENQUEUE_REPLENISH;
^ permalink raw reply related [flat|nested] 3+ messages in thread
end of thread, other threads:[~2014-07-16 19:23 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-06-06 16:51 [PATCH 0/1] sched/deadline: Kill task_struct->pi_top_task Oleg Nesterov
2014-06-06 16:52 ` [PATCH 1/1] " Oleg Nesterov
2014-07-16 19:22 ` [tip:sched/core] " tip-bot for Oleg Nesterov
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.