From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752025AbdBJNlS (ORCPT ); Fri, 10 Feb 2017 08:41:18 -0500 Received: from foss.arm.com ([217.140.101.70]:34632 "EHLO foss.arm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751433AbdBJNlQ (ORCPT ); Fri, 10 Feb 2017 08:41:16 -0500 Date: Fri, 10 Feb 2017 13:39:33 +0000 From: Juri Lelli To: Byungchul Park Cc: peterz@infradead.org, mingo@kernel.org, linux-kernel@vger.kernel.org, tkhai@yandex.ru Subject: Re: [PATCH] sched/deadline: Remove redundant code replenishing runtime Message-ID: <20170210133933.GA6123@e106622-lin> References: <1486717888-30580-1-git-send-email-byungchul.park@lge.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1486717888-30580-1-git-send-email-byungchul.park@lge.com> 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 Hi, On 10/02/17 18:11, Byungchul Park wrote: > For a task passing its deadline while !rq, it will be replenished > in the following path because dl_se->deadline < rq_lock. > > enqueue_dl_entity(ENQUEUE_WAKEUP) > update_dl_entity > > Therefore, code replenishing it in the timer callback in the case is > unnecessary. This is not for enhancing performance but just for removing > a redundant code. > > Signed-off-by: Byungchul Park > --- > kernel/sched/deadline.c | 4 +--- > 1 file changed, 1 insertion(+), 3 deletions(-) > > diff --git a/kernel/sched/deadline.c b/kernel/sched/deadline.c > index 27737f3..9c77696 100644 > --- a/kernel/sched/deadline.c > +++ b/kernel/sched/deadline.c > @@ -624,10 +624,8 @@ static enum hrtimer_restart dl_task_timer(struct hrtimer *timer) > * We can be both throttled and !queued. Replenish the counter > * but do not enqueue -- wait for our wakeup to do that. > */ > - if (!task_on_rq_queued(p)) { > - replenish_dl_entity(dl_se, dl_se); I think we actually want to replenish and set the next deadline at this point of time, not the one that we get when the task will eventually wake up. Best, - Juri