From patchwork Fri Aug 5 14:34:44 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Juri Lelli X-Patchwork-Id: 73358 Delivered-To: patch@linaro.org Received: by 10.140.29.52 with SMTP id a49csp1971054qga; Fri, 5 Aug 2016 07:34:57 -0700 (PDT) X-Received: by 10.98.24.194 with SMTP id 185mr135878310pfy.52.1470407697155; Fri, 05 Aug 2016 07:34:57 -0700 (PDT) Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id fm1si5807327pad.221.2016.08.05.07.34.56; Fri, 05 Aug 2016 07:34:57 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1759868AbcHEOec (ORCPT + 27 others); 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 Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.72.51.249]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id E826228; Fri, 5 Aug 2016 07:35:53 -0700 (PDT) Received: from e106622-lin (e106622-lin.cambridge.arm.com [10.1.211.43]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 2FF7B3F215; Fri, 5 Aug 2016 07:34:29 -0700 (PDT) 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-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 Precedence: bulk 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 - } } }