diff mbox

[v5] sched/deadline: remove useless param from setup_new_dl_entity

Message ID 20160805143444.GH28125@e106622-lin
State New
Headers show

Commit Message

Juri Lelli Aug. 5, 2016, 2:34 p.m. UTC
On 05/08/16 09:56, Steven Rostedt wrote:
> On Fri,  5 Aug 2016 11:09:59 +0100

> Juri Lelli <juri.lelli@arm.com> wrote:

> 

> > @@ -1720,19 +1720,28 @@ static void switched_from_dl(struct rq *rq, struct task_struct *p)

> >   */

> >  static void switched_to_dl(struct rq *rq, struct task_struct *p)

> >  {

> > -	if (dl_time_before(p->dl.deadline, rq_clock(rq)))

> > -		setup_new_dl_entity(&p->dl, &p->dl);

> >  

> > -	if (task_on_rq_queued(p) && rq->curr != p) {

> > +	if (task_on_rq_queued(p)) {

> 

> I always hated functions totally encapsulated by an if statement. This

> can be a bit simpler (and less indented) if you have:

> 

> 	/* If p is not queued, its parameters will be updated at wakeup */

> 	if (!task_on_rq_queued(p))

> 		return;

> 

> 	[...]

> 


You mean like what follows?

I'll post a v6 if OK.

Thanks,

- Juri

--->8---
 kernel/sched/deadline.c | 35 ++++++++++++++++++-----------------
 1 file changed, 18 insertions(+), 17 deletions(-)

Comments

Juri Lelli Aug. 5, 2016, 3:02 p.m. UTC | #1
On 05/08/16 10:54, Steven Rostedt wrote:
> On Fri, 5 Aug 2016 15:34:44 +0100

> Juri Lelli <juri.lelli@arm.com> wrote:

> 

> > On 05/08/16 09:56, Steven Rostedt wrote:

> > > On Fri,  5 Aug 2016 11:09:59 +0100

> > > Juri Lelli <juri.lelli@arm.com> wrote:

> > >   

> > > > @@ -1720,19 +1720,28 @@ static void switched_from_dl(struct rq *rq, struct task_struct *p)

> > > >   */

> > > >  static void switched_to_dl(struct rq *rq, struct task_struct *p)

> > > >  {

> > > > -	if (dl_time_before(p->dl.deadline, rq_clock(rq)))

> > > > -		setup_new_dl_entity(&p->dl, &p->dl);

> > > >  

> > > > -	if (task_on_rq_queued(p) && rq->curr != p) {

> > > > +	if (task_on_rq_queued(p)) {  

> > > 

> > > I always hated functions totally encapsulated by an if statement. This

> > > can be a bit simpler (and less indented) if you have:

> > > 

> > > 	/* If p is not queued, its parameters will be updated at wakeup */

> > > 	if (!task_on_rq_queued(p))

> > > 		return;

> > > 

> > > 	[...]

> > >   

> > 

> > You mean like what follows?

> > 

> > I'll post a v6 if OK.

> > 

> 

> Yes! I think that looks much nicer, and easier to read.

> 


Yep. Way better. :)

> You can add my Reviewed-by tag too.

> 


Thanks!

Best,

- Juri
diff mbox

Patch

diff --git a/kernel/sched/deadline.c b/kernel/sched/deadline.c
index 9491dbe039e8..03f35f66cf1f 100644
--- a/kernel/sched/deadline.c
+++ b/kernel/sched/deadline.c
@@ -1721,27 +1721,28 @@  static void switched_from_dl(struct rq *rq, struct task_struct *p)
 static void switched_to_dl(struct rq *rq, struct task_struct *p)
 {
 
-	if (task_on_rq_queued(p)) {
-		/*
-		 * If p is not queued we will update its parameters at next
-		 * wakeup. If p is dl_boosted we already updated its params in
-		 * rt_mutex_setprio()->enqueue_task(..., ENQUEUE_REPLENISH),
-		 * p's deadline being now already after rq_clock(rq).
-		 */
-		if (dl_time_before(p->dl.deadline, rq_clock(rq)))
-			setup_new_dl_entity(&p->dl);
+	/* If p is not queued we will update its parameters at next wakeup. */
+	if (!task_on_rq_queued(p))
+		return;
+
+	/*
+	 * If p is boosted we already updated its params in
+	 * rt_mutex_setprio()->enqueue_task(..., ENQUEUE_REPLENISH),
+	 * p's deadline being now already after rq_clock(rq).
+	 */
+	if (dl_time_before(p->dl.deadline, rq_clock(rq)))
+		setup_new_dl_entity(&p->dl);
 
-		if (rq->curr != p) {
+	if (rq->curr != p) {
 #ifdef CONFIG_SMP
-			if (tsk_nr_cpus_allowed(p) > 1 && rq->dl.overloaded)
-				queue_push_tasks(rq);
+		if (tsk_nr_cpus_allowed(p) > 1 && rq->dl.overloaded)
+			queue_push_tasks(rq);
 #else
-			if (dl_task(rq->curr))
-				check_preempt_curr_dl(rq, p, 0);
-			else
-				resched_curr(rq);
+		if (dl_task(rq->curr))
+			check_preempt_curr_dl(rq, p, 0);
+		else
+			resched_curr(rq);
 #endif
-		}
 	}
 }