From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751536AbcBKRGJ (ORCPT ); Thu, 11 Feb 2016 12:06:09 -0500 Received: from mail-pa0-f51.google.com ([209.85.220.51]:34006 "EHLO mail-pa0-f51.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751011AbcBKRGH (ORCPT ); Thu, 11 Feb 2016 12:06:07 -0500 Subject: Re: [PATCH 0/3] cpufreq: Replace timers with utilization update callbacks To: Peter Zijlstra References: <3071836.JbNxX8hU6x@vostro.rjw.lan> <56B93548.9090006@linaro.org> <5387313.xAhVpzgZCg@vostro.rjw.lan> <56BA8C29.4090905@linaro.org> <20160211115959.GI6357@twins.programming.kicks-ass.net> Cc: "Rafael J. Wysocki" , "Rafael J. Wysocki" , Linux PM list , Linux Kernel Mailing List , Srinivas Pandruvada , Viresh Kumar , Juri Lelli , Thomas Gleixner From: Steve Muckle X-Enigmail-Draft-Status: N1110 Message-ID: <56BCBF7C.2080404@linaro.org> Date: Thu, 11 Feb 2016 09:06:04 -0800 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.2.0 MIME-Version: 1.0 In-Reply-To: <20160211115959.GI6357@twins.programming.kicks-ass.net> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Peter, On 02/11/2016 03:59 AM, Peter Zijlstra wrote: >> I think additional hooks such as enqueue/dequeue would be needed in >> > RT/DL. The task tick callbacks will only run if a task in that class is >> > executing at the time of the tick. There could be intermittent RT/DL >> > task activity in a frequency domain (the only task activity there, no >> > CFS tasks) that doesn't happen to overlap the tick. Worst case the task >> > activity could be periodic in such a way that it never overlaps the tick >> > and the update is never made. > > No, for RT (RR/FIFO) we do not have enough information to do anything > useful. Basically RR/FIFO should result in running 100% whenever we > schedule such a task. > > That means RR/FIFO want a hook in pick_next_task_rt() to bump the freq > to 100% and leave it there until something else gets to run. > > For DL it basically wants to set a minimum freq based on reserved > utilization, so that is __setparam_dl() or somewhere around there. > > And we should either use CPPC hints for min freq or manually ensure that > the CFS callback will not select something less than this. Rafael's changes aren't specifying particular frequencies/capacities in the scheduler hooks. They're just pokes to get cpufreq to run, in order to eliminate cpufreq's timers. My concern above is that pokes are guaranteed to keep occurring when there is only RT or DL activity so nothing breaks. thanks, Steve