Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754213AbcDMRxf (ORCPT ); Wed, 13 Apr 2016 13:53:35 -0400 Received: from mail-pf0-f170.google.com ([209.85.192.170]:36154 "EHLO mail-pf0-f170.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750916AbcDMRxd (ORCPT ); Wed, 13 Apr 2016 13:53:33 -0400 Subject: Re: [PATCH 1/2] sched/fair: move cpufreq hook to update_cfs_rq_load_avg() To: "Rafael J. Wysocki" References: <56F97856.4040804@arm.com> <56F98832.3030207@linaro.org> <20160330193544.GD407@worktop> <56FC807C.80204@linaro.org> <20160331073743.GF3408@twins.programming.kicks-ass.net> <56FD95EE.6090007@linaro.org> <20160401092019.GN3430@twins.programming.kicks-ass.net> <570BFAE2.4080301@linaro.org> <20160412193857.GA22643@graphite.smuckle.net> Cc: Peter Zijlstra , Dietmar Eggemann , Ingo Molnar , Linux Kernel Mailing List , "linux-pm@vger.kernel.org" , Vincent Guittot , Morten Rasmussen , Juri Lelli , Patrick Bellasi , Michael Turquette From: Steve Muckle X-Enigmail-Draft-Status: N1110 Message-ID: <570E879A.90008@linaro.org> Date: Wed, 13 Apr 2016 10:53:30 -0700 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.7.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1311 Lines: 29 On 04/13/2016 07:45 AM, Rafael J. Wysocki wrote: >> I'm concerned generally with the latency to react to changes in >> > required capacity due to remote wakeups, which are quite common on SMP >> > platforms with shared cache. Unless the hook is called it could take >> > up to a tick to react AFAICS if the target CPU is running some other >> > task that does not get preempted by the wakeup. > > So the scenario seems to be that CPU A is running task X and CPU B > wakes up task Y on it remotely, but that task has to wait for CPU A to > get to it, so you want to increase the frequency of CPU A at the > wakeup time so as to reduce the time the woken up task has to wait. > > In that case task X would not be giving the CPU away (ie. no > invocations of schedule()) for the whole tick, so it would be > CPU/memory bound. In that case I would expect CPU A to be running at > full capacity already unless this is the first tick period in which > task X behaves this way which looks like a corner case to me. This situation is fairly common in bursty workloads (such as UI driven ones). > Moreover, sending an IPI to CPU A in that case looks like the right > thing to do to me anyway. Sorry I didn't follow - sending an IPI to do what exactly? Perform the wakeup operation on the target CPU? thanks, Steve