From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1750917AbcBKTE5 (ORCPT ); Thu, 11 Feb 2016 14:04:57 -0500 Received: from mail-lf0-f66.google.com ([209.85.215.66]:33907 "EHLO mail-lf0-f66.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750735AbcBKTE4 (ORCPT ); Thu, 11 Feb 2016 14:04:56 -0500 MIME-Version: 1.0 In-Reply-To: <56BCD864.6030207@linaro.org> 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> <56BCBF7C.2080404@linaro.org> <20160211173033.GP6357@twins.programming.kicks-ass.net> <56BCD864.6030207@linaro.org> Date: Thu, 11 Feb 2016 20:04:54 +0100 X-Google-Sender-Auth: H9q0xtfTFVVsWP98CVZckL1blPo Message-ID: Subject: Re: [PATCH 0/3] cpufreq: Replace timers with utilization update callbacks From: "Rafael J. Wysocki" To: Steve Muckle , Peter Zijlstra Cc: "Rafael J. Wysocki" , "Rafael J. Wysocki" , Linux PM list , Linux Kernel Mailing List , Srinivas Pandruvada , Viresh Kumar , Juri Lelli , Thomas Gleixner Content-Type: text/plain; charset=UTF-8 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, Feb 11, 2016 at 7:52 PM, Steve Muckle wrote: > On 02/11/2016 09:30 AM, Peter Zijlstra wrote: >>> My concern above is that pokes are guaranteed to keep occurring when >>> > there is only RT or DL activity so nothing breaks. >> >> The hook in their respective tick handler should ensure stuff is called >> sporadically and isn't stalled. > > But that's only true if the RT/DL tasks happen to be running when the > tick arrives right? > > Couldn't we have RT/DL activity which doesn't overlap with the tick? And > if no CFS tasks happen to be executing on that CPU, we'll never trigger > the cpufreq update. This could go on for an arbitrarily long time > depending on the periodicity of the work. I'm thinking that two additional hooks in enqueue_task_rt/dl() might help here. Then, we will hit either the tick or enqueue and that should do the trick. Peter, what do you think? Rafael