From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932799AbdEKQ21 (ORCPT ); Thu, 11 May 2017 12:28:27 -0400 Received: from foss.arm.com ([217.140.101.70]:48054 "EHLO foss.arm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S933326AbdEKOBV (ORCPT ); Thu, 11 May 2017 10:01:21 -0400 Date: Thu, 11 May 2017 15:01:16 +0100 From: Juri Lelli To: Steven Rostedt Cc: Peter Zijlstra , Ingo Molnar , LKML , Luca Abeni , Daniel Bristot de Oliveira Subject: Re: [RFC][PATCH] sched/deadline: Remove if statement before clearing throttle and yielded Message-ID: <20170511140116.4ojn67utqjp5x2j5@e106622-lin> References: <20170510095044.6a04b2dc@gandalf.local.home> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20170510095044.6a04b2dc@gandalf.local.home> User-Agent: NeoMutt/20170113 (1.7.2) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi, On 10/05/17 09:50, Steven Rostedt wrote: > [ > This is an RFC as I didn't run any benchmarks. It just seemed a bit > weird to me that we would add such a check instead of just clearing > these variables out regardless. > ] > > The function replenish_dl_entity() clears dl_throttled and dl_yielded, > but checks first if they are set before doing so. As these variables > are in the same cache locale of other variables being modified, there's > no advantage in checking if they are set before clearing them. But > having the compare takes slots away from the branch prediction. > > Signed-off-by: Steven Rostedt (VMware) > --- > diff --git a/kernel/sched/deadline.c b/kernel/sched/deadline.c > index a2ce590..9748d33 100644 > --- a/kernel/sched/deadline.c > +++ b/kernel/sched/deadline.c > @@ -423,10 +423,8 @@ static void replenish_dl_entity(struct sched_dl_entity *dl_se, > dl_se->runtime = pi_se->dl_runtime; > } > > - if (dl_se->dl_yielded) > - dl_se->dl_yielded = 0; > - if (dl_se->dl_throttled) > - dl_se->dl_throttled = 0; > + dl_se->dl_yielded = 0; > + dl_se->dl_throttled = 0; > } Looks good to me. Peter, any particular reason why you wanted to first check the values? Best, - Juri