Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753308AbcCaHhv (ORCPT ); Thu, 31 Mar 2016 03:37:51 -0400 Received: from bombadil.infradead.org ([198.137.202.9]:43727 "EHLO bombadil.infradead.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751184AbcCaHht (ORCPT ); Thu, 31 Mar 2016 03:37:49 -0400 Date: Thu, 31 Mar 2016 09:37:43 +0200 From: Peter Zijlstra To: Steve Muckle Cc: Dietmar Eggemann , Ingo Molnar , linux-kernel@vger.kernel.org, linux-pm@vger.kernel.org, "Rafael J. Wysocki" , Vincent Guittot , Morten Rasmussen , Juri Lelli , Patrick Bellasi , Michael Turquette Subject: Re: [PATCH 1/2] sched/fair: move cpufreq hook to update_cfs_rq_load_avg() Message-ID: <20160331073743.GF3408@twins.programming.kicks-ass.net> References: <1458606068-7476-1-git-send-email-smuckle@linaro.org> <56F91D56.4020007@arm.com> <56F95D10.4070400@linaro.org> <56F97856.4040804@arm.com> <56F98832.3030207@linaro.org> <20160330193544.GD407@worktop> <56FC807C.80204@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <56FC807C.80204@linaro.org> User-Agent: Mutt/1.5.21 (2012-12-30) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1100 Lines: 21 On Wed, Mar 30, 2016 at 06:42:20PM -0700, Steve Muckle wrote: > On 03/30/2016 12:35 PM, Peter Zijlstra wrote: > > On Mon, Mar 28, 2016 at 12:38:26PM -0700, Steve Muckle wrote: > >> Without covering all the paths where CFS utilization changes it's > >> possible to have to wait up to a tick to act on some changes, since the > >> tick is the only guaranteed regularly-occurring instance of the hook. > >> That's an unacceptable amount of latency IMO... > > > > Note that even with your patches that might still be the case. Remote > > wakeups might not happen on the destination CPU at all, so it might not > > be until the next tick (which always happens locally) that we'll > > 'observe' the utilization change brought with the wakeups. > > > > We could force all the remote wakeups to IPI the destination CPU, but > > that comes at a significant performance cost. > > What about only IPI'ing the destination when the utilization change is > known to require a higher CPU frequency? Can't, the way the wakeup path is constructed we would be sending the IPI way before we know about utilization.