From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1759867AbcHEOec (ORCPT ); Fri, 5 Aug 2016 10:34:32 -0400 Received: from foss.arm.com ([217.140.101.70]:56731 "EHLO foss.arm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1759711AbcHEOeb (ORCPT ); Fri, 5 Aug 2016 10:34:31 -0400 Date: Fri, 5 Aug 2016 15:34:44 +0100 From: Juri Lelli To: Steven Rostedt Cc: peterz@infradead.org, linux-kernel@vger.kernel.org, mingo@redhat.com, luca.abeni@unitn.it, xpang@redhat.com Subject: Re: [PATCH v5] sched/deadline: remove useless param from setup_new_dl_entity Message-ID: <20160805143444.GH28125@e106622-lin> References: <1470391799-22939-1-git-send-email-juri.lelli@arm.com> <20160805095643.130194cf@gandalf.local.home> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20160805095643.130194cf@gandalf.local.home> User-Agent: Mutt/1.5.21 (2010-09-15) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 05/08/16 09:56, Steven Rostedt wrote: > On Fri, 5 Aug 2016 11:09:59 +0100 > Juri Lelli 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(-) 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 - } } }