Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752224AbdF3PqI (ORCPT ); Fri, 30 Jun 2017 11:46:08 -0400 Received: from mail-wm0-f67.google.com ([74.125.82.67]:36603 "EHLO mail-wm0-f67.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751701AbdF3PqF (ORCPT ); Fri, 30 Jun 2017 11:46:05 -0400 Date: Fri, 30 Jun 2017 17:46:02 +0200 From: Frederic Weisbecker To: Frans Klaver Cc: Rik van Riel , Ingo Molnar , hpa@zytor.com, torvalds@linux-foundation.org, Thomas Gleixner , wanpeng.li@hotmail.com, "linux-kernel@vger.kernel.org" , "Gustavo A. R. Silva" , sgruszka@redhat.com, Peter Zijlstra , linux-tip-commits@vger.kernel.org Subject: Re: [tip:sched/core] sched/cputime: Refactor the cputime_adjust() code Message-ID: <20170630154559.GA21730@lerouge> References: <20170629184128.GA5271@embeddedgus> <1498831200.6130.13.camel@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.24 (2015-08-30) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1413 Lines: 44 On Fri, Jun 30, 2017 at 04:41:50PM +0200, Frans Klaver wrote: > On Fri, Jun 30, 2017 at 4:00 PM, Rik van Riel wrote: > > On Fri, 2017-06-30 at 06:10 -0700, tip-bot for Gustavo A. R. Silva > > wrote: > > > >> +++ b/kernel/sched/cputime.c > >> @@ -615,19 +615,13 @@ static void cputime_adjust(struct task_cputime > >> *curr, > >> * userspace. Once a task gets some ticks, the monotonicy > >> code at > >> * 'update' will ensure things converge to the observed > >> ratio. > >> */ > >> - if (stime == 0) { > >> - utime = rtime; > >> - goto update; > >> + if (stime != 0) { > >> + if (utime == 0) > >> + stime = rtime; > >> + else > >> + stime = scale_stime(stime, rtime, stime + > >> utime); > >> } > >> > >> - if (utime == 0) { > >> - stime = rtime; > >> - goto update; > >> - } > >> - > >> - stime = scale_stime(stime, rtime, stime + utime); > >> - > >> -update: > > > > Wait, what? > > > > This get rid of the utime = rtime assignment, when > > stime == 0. That could be a correctness issue. > > The first time utime is used after that assignment, it is overwritten > with rtime - stime. The utime = rtime assignment is then pointless. Right, I also got confused first but after starring at the code, the patch looks right. Thanks.