From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751589AbbHOMjl (ORCPT ); Sat, 15 Aug 2015 08:39:41 -0400 Received: from blu004-omc1s5.hotmail.com ([65.55.116.16]:61156 "EHLO BLU004-OMC1S5.hotmail.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751108AbbHOMjk (ORCPT ); Sat, 15 Aug 2015 08:39:40 -0400 X-TMN: [ZjmJ02xZJrSYzDDC143QRfJeA+mpU7bB] X-Originating-Email: [t.s.zhou@hotmail.com] Message-ID: Date: Sat, 15 Aug 2015 20:34:17 +0800 From: "T. Zhou" To: Byungchul Park CC: mingo@kernel.org, peterz@infradead.org, linux-kernel@vger.kernel.org, yuyang.du@intel.com Subject: Re: [PATCH] sched: sync with the cfs_rq when changing sched class References: <1439445355-24137-1-git-send-email-byungchul.park@lge.com> <20150815042412.GS3956@byungchulpark-X58A-UD3R> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Disposition: inline In-Reply-To: <20150815042412.GS3956@byungchulpark-X58A-UD3R> User-Agent: Mutt/1.5.23 (2014-03-12) X-OriginalArrivalTime: 15 Aug 2015 12:39:38.0693 (UTC) FILETIME=[73199F50:01D0D757] Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Sat, Aug 15, 2015 at 01:24:12PM +0900, Byungchul Park wrote: > On Fri, Aug 14, 2015 at 08:59:02PM +0800, T. Zhou wrote: > > Hi, > > > > On Thu, Aug 13, 2015 at 02:55:55PM +0900, byungchul.park@lge.com wrote: > > > +static void attach_entity_load_avg(struct cfs_rq *cfs_rq, struct sched_entity *se) > > > +{ > > > + se->avg.last_update_time = cfs_rq->avg.last_update_time; > > > + cfs_rq->avg.load_avg += se->avg.load_avg; > > > + cfs_rq->avg.load_sum += se->avg.load_sum; > > > + cfs_rq->avg.util_avg += se->avg.util_avg; > > > + cfs_rq->avg.util_sum += se->avg.util_sum; > > > +} > > > > I see this function is used in enqueue_entity_load_avg() also. > > In tip tree code, enqueue_entity_load_avg() uses cfs_rq_clock_task() > > as se->last_update_time in migration condition. > > Here, you use cfs_rq->avg.last_update_time as se->last_update_time. > > If se->last_update_time is different, next decay may be different too. > > Just from inspecting code, maybe some reasonable there? > > hello zhou, > > update_cfs_rq_load_avg() would update cfs_rq->avg.last_update_time to now, > which is returned from cfs_rq_clock_task(). :) > > thanks, > byungchul > Hi Byungchul, yes, you are right. se and cfs_rq update load avg at same time. :) thanks -- Tao