* [PATCH] sched/deadline: Replace rq_of_dl_rq(dl_rq_of_se(dl_se)) with ... ...task_rq(dl_task_of(dl_se))
@ 2020-10-13 14:31 Qi Zheng
2020-10-13 15:48 ` Peter Zijlstra
0 siblings, 1 reply; 3+ messages in thread
From: Qi Zheng @ 2020-10-13 14:31 UTC (permalink / raw)
To: mingo, peterz, juri.lelli, vincent.guittot, dietmar.eggemann,
rostedt, bsegall, mgorman, bristot
Cc: linux-kernel, Qi Zheng
The rq is already obtained in the dl_rq_of_se() function:
struct task_struct *p = dl_task_of(dl_se);
struct rq *rq = task_rq(p);
So there is no need to do extra conversion.
Signed-off-by: Qi Zheng <arch0.zheng@gmail.com>
---
kernel/sched/deadline.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/kernel/sched/deadline.c b/kernel/sched/deadline.c
index 6d93f4518734..f64e577f6aba 100644
--- a/kernel/sched/deadline.c
+++ b/kernel/sched/deadline.c
@@ -1152,7 +1152,7 @@ void init_dl_task_timer(struct sched_dl_entity *dl_se)
static inline void dl_check_constrained_dl(struct sched_dl_entity *dl_se)
{
struct task_struct *p = dl_task_of(dl_se);
- struct rq *rq = rq_of_dl_rq(dl_rq_of_se(dl_se));
+ struct rq *rq = task_rq(p);
if (dl_time_before(dl_se->deadline, rq_clock(rq)) &&
dl_time_before(rq_clock(rq), dl_next_period(dl_se))) {
@@ -1498,7 +1498,7 @@ enqueue_dl_entity(struct sched_dl_entity *dl_se,
replenish_dl_entity(dl_se, pi_se);
} else if ((flags & ENQUEUE_RESTORE) &&
dl_time_before(dl_se->deadline,
- rq_clock(rq_of_dl_rq(dl_rq_of_se(dl_se))))) {
+ rq_clock(task_rq(dl_task_of(dl_se))))) {
setup_new_dl_entity(dl_se);
}
--
2.25.1
^ permalink raw reply [flat|nested] 3+ messages in thread* Re: [PATCH] sched/deadline: Replace rq_of_dl_rq(dl_rq_of_se(dl_se)) with ... ...task_rq(dl_task_of(dl_se)) 2020-10-13 14:31 [PATCH] sched/deadline: Replace rq_of_dl_rq(dl_rq_of_se(dl_se)) with ... ...task_rq(dl_task_of(dl_se)) Qi Zheng @ 2020-10-13 15:48 ` Peter Zijlstra 2020-10-14 6:20 ` Qi Zheng 0 siblings, 1 reply; 3+ messages in thread From: Peter Zijlstra @ 2020-10-13 15:48 UTC (permalink / raw) To: Qi Zheng Cc: mingo, juri.lelli, vincent.guittot, dietmar.eggemann, rostedt, bsegall, mgorman, bristot, linux-kernel On Tue, Oct 13, 2020 at 10:31:40PM +0800, Qi Zheng wrote: > The rq is already obtained in the dl_rq_of_se() function: > struct task_struct *p = dl_task_of(dl_se); > struct rq *rq = task_rq(p); > So there is no need to do extra conversion. > > Signed-off-by: Qi Zheng <arch0.zheng@gmail.com> > --- > kernel/sched/deadline.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/kernel/sched/deadline.c b/kernel/sched/deadline.c > index 6d93f4518734..f64e577f6aba 100644 > --- a/kernel/sched/deadline.c > +++ b/kernel/sched/deadline.c > @@ -1152,7 +1152,7 @@ void init_dl_task_timer(struct sched_dl_entity *dl_se) > static inline void dl_check_constrained_dl(struct sched_dl_entity *dl_se) > { > struct task_struct *p = dl_task_of(dl_se); > - struct rq *rq = rq_of_dl_rq(dl_rq_of_se(dl_se)); > + struct rq *rq = task_rq(p); > > if (dl_time_before(dl_se->deadline, rq_clock(rq)) && > dl_time_before(rq_clock(rq), dl_next_period(dl_se))) { > @@ -1498,7 +1498,7 @@ enqueue_dl_entity(struct sched_dl_entity *dl_se, > replenish_dl_entity(dl_se, pi_se); > } else if ((flags & ENQUEUE_RESTORE) && > dl_time_before(dl_se->deadline, > - rq_clock(rq_of_dl_rq(dl_rq_of_se(dl_se))))) { > + rq_clock(task_rq(dl_task_of(dl_se))))) { > setup_new_dl_entity(dl_se); > } Consider where we're going: https://lkml.kernel.org/r/20200807095051.385985-1-juri.lelli@redhat.com then a dl_entity is no longer immediately a task and the above is no longer true. ^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] sched/deadline: Replace rq_of_dl_rq(dl_rq_of_se(dl_se)) with ... ...task_rq(dl_task_of(dl_se)) 2020-10-13 15:48 ` Peter Zijlstra @ 2020-10-14 6:20 ` Qi Zheng 0 siblings, 0 replies; 3+ messages in thread From: Qi Zheng @ 2020-10-14 6:20 UTC (permalink / raw) To: Peter Zijlstra Cc: mingo, juri.lelli, Vincent Guittot, Dietmar Eggemann, rostedt, Benjamin Segall, mgorman, bristot, linux-kernel On 2020/10/13 下午11:48, Peter Zijlstra wrote: > On Tue, Oct 13, 2020 at 10:31:40PM +0800, Qi Zheng wrote: >> The rq is already obtained in the dl_rq_of_se() function: >> struct task_struct *p = dl_task_of(dl_se); >> struct rq *rq = task_rq(p); >> So there is no need to do extra conversion. >> >> Signed-off-by: Qi Zheng <arch0.zheng@gmail.com> >> --- >> kernel/sched/deadline.c | 4 ++-- >> 1 file changed, 2 insertions(+), 2 deletions(-) >> >> diff --git a/kernel/sched/deadline.c b/kernel/sched/deadline.c >> index 6d93f4518734..f64e577f6aba 100644 >> --- a/kernel/sched/deadline.c >> +++ b/kernel/sched/deadline.c >> @@ -1152,7 +1152,7 @@ void init_dl_task_timer(struct sched_dl_entity *dl_se) >> static inline void dl_check_constrained_dl(struct sched_dl_entity *dl_se) >> { >> struct task_struct *p = dl_task_of(dl_se); >> - struct rq *rq = rq_of_dl_rq(dl_rq_of_se(dl_se)); >> + struct rq *rq = task_rq(p); >> >> if (dl_time_before(dl_se->deadline, rq_clock(rq)) && >> dl_time_before(rq_clock(rq), dl_next_period(dl_se))) { >> @@ -1498,7 +1498,7 @@ enqueue_dl_entity(struct sched_dl_entity *dl_se, >> replenish_dl_entity(dl_se, pi_se); >> } else if ((flags & ENQUEUE_RESTORE) && >> dl_time_before(dl_se->deadline, >> - rq_clock(rq_of_dl_rq(dl_rq_of_se(dl_se))))) { >> + rq_clock(task_rq(dl_task_of(dl_se))))) { >> setup_new_dl_entity(dl_se); >> } > > Consider where we're going: > > https://lkml.kernel.org/r/20200807095051.385985-1-juri.lelli@redhat.com > > then a dl_entity is no longer immediately a task and the above is no > longer true. > Thanks for your reply, I saw in the patch below that the dl_rq_of_se() has been changed to the rq_of_dl_se(), so the above is no longer needed. [RFC PATCH v2 4/6] sched/deadline: Introduce deadline servers In addition, when will the SCHED_DEADLINE server infrastructure is expected to be integrated into the mainline? It looks great! Peter Zijlstra <peterz@infradead.org> 于2020年10月13日周二 下午11:48写道: > > On Tue, Oct 13, 2020 at 10:31:40PM +0800, Qi Zheng wrote: > > The rq is already obtained in the dl_rq_of_se() function: > > struct task_struct *p = dl_task_of(dl_se); > > struct rq *rq = task_rq(p); > > So there is no need to do extra conversion. > > > > Signed-off-by: Qi Zheng <arch0.zheng@gmail.com> > > --- > > kernel/sched/deadline.c | 4 ++-- > > 1 file changed, 2 insertions(+), 2 deletions(-) > > > > diff --git a/kernel/sched/deadline.c b/kernel/sched/deadline.c > > index 6d93f4518734..f64e577f6aba 100644 > > --- a/kernel/sched/deadline.c > > +++ b/kernel/sched/deadline.c > > @@ -1152,7 +1152,7 @@ void init_dl_task_timer(struct sched_dl_entity *dl_se) > > static inline void dl_check_constrained_dl(struct sched_dl_entity *dl_se) > > { > > struct task_struct *p = dl_task_of(dl_se); > > - struct rq *rq = rq_of_dl_rq(dl_rq_of_se(dl_se)); > > + struct rq *rq = task_rq(p); > > > > if (dl_time_before(dl_se->deadline, rq_clock(rq)) && > > dl_time_before(rq_clock(rq), dl_next_period(dl_se))) { > > @@ -1498,7 +1498,7 @@ enqueue_dl_entity(struct sched_dl_entity *dl_se, > > replenish_dl_entity(dl_se, pi_se); > > } else if ((flags & ENQUEUE_RESTORE) && > > dl_time_before(dl_se->deadline, > > - rq_clock(rq_of_dl_rq(dl_rq_of_se(dl_se))))) { > > + rq_clock(task_rq(dl_task_of(dl_se))))) { > > setup_new_dl_entity(dl_se); > > } > > Consider where we're going: > > https://lkml.kernel.org/r/20200807095051.385985-1-juri.lelli@redhat.com > > then a dl_entity is no longer immediately a task and the above is no > longer true. ^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2020-10-14 8:49 UTC | newest] Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2020-10-13 14:31 [PATCH] sched/deadline: Replace rq_of_dl_rq(dl_rq_of_se(dl_se)) with ... ...task_rq(dl_task_of(dl_se)) Qi Zheng 2020-10-13 15:48 ` Peter Zijlstra 2020-10-14 6:20 ` Qi Zheng
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®