Received: by 2002:a05:6902:102b:0:0:0:0 with SMTP id x11csp1407316ybt; Thu, 2 Jul 2020 04:47:46 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxGYEmAXgF9Gks/I6gpmD3YWfaSqMPQoCiIQkiNPONuboeE+Fs8HR/rBChtkk72M4az18B2 X-Received: by 2002:a17:906:f2c4:: with SMTP id gz4mr26659929ejb.484.1593690466734; Thu, 02 Jul 2020 04:47:46 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1593690466; cv=none; d=google.com; s=arc-20160816; b=sAnzVKUejzvkqtbKc8MR8cZvvGzCUnrzkDpIPmHldNnIsnQelr4XNIxzVxjIbE12HK IrgvoBR1r0Nqw9ntsyGx3a5PVQOIfF8DUFGDPhkxoFZX1WIiL/GdwSwJMLrrQsGHLXUt DK8XrqOCkXW+F3x7O/gri0kHnwwJXNa4cZ8Qqlpx7ywxdJ0+5QaMgzkBUTC0Uw5zfFhG 4unNjObkeM0KYhGs+w7WZEAv1gz7KEMIOvHeGzmG+Ae65MjHNuKdgV/jpLb0JjslfHVr tuxn9nSpQ3fTJVNbR6pL55V3JOGLhCm8Eknxg2UEJGyawfiYkt5QVoX77FRnEthF90x+ Y2Qw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:user-agent:in-reply-to :content-disposition:mime-version:references:message-id:subject:cc :to:from:date; bh=hH+3H8VmXoamNgXgQ5v5SGA0ExCYnaFfsjxiokxt+tQ=; b=WT10f2ZWEldsC+vJ6XDPZ7lwCFAOyAkGgLo4S9jJw7Ew1o/3Qv28/8hqtnjumvYPbJ EC7LoT3LWwoBZwS7jPEq+kWnD/iJqe6K/5oY5gi5JW1uXpNz0+FNP+SSumMB0+8YZUC4 u3IAylaL8BXM8mCNyXfFRsKQrr4CJh8jrhJkEdtH9yrCLrQQFUTTz9QEkLnY2z71FJFR wfAM4xH+4/08G0ftPyv2ahfGe9JhtvzJPYzEvKAhgG08N3bb5kqt3pNrTYKfOQ3m6t/U Iq48HWJNB9W0v3frEKU4qH9tYrxNxbWp3b9osvKAZa/glHsr72lUmVrROSo82FfWdxVn 1uxw== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id m4si5876417ejo.514.2020.07.02.04.47.23; Thu, 02 Jul 2020 04:47:46 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728743AbgGBLo2 (ORCPT + 99 others); Thu, 2 Jul 2020 07:44:28 -0400 Received: from foss.arm.com ([217.140.110.172]:42806 "EHLO foss.arm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727016AbgGBLo2 (ORCPT ); Thu, 2 Jul 2020 07:44:28 -0400 Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id B83631FB; Thu, 2 Jul 2020 04:44:27 -0700 (PDT) Received: from localhost (unknown [10.1.198.53]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 5A3313F71E; Thu, 2 Jul 2020 04:44:27 -0700 (PDT) Date: Thu, 2 Jul 2020 12:44:25 +0100 From: Ionela Voinescu To: Viresh Kumar Cc: "Rafael J. Wysocki" , "Rafael J. Wysocki" , Catalin Marinas , Sudeep Holla , Will Deacon , Russell King - ARM Linux , Valentin Schneider , Ingo Molnar , Peter Zijlstra , Dietmar Eggemann , Linux PM , Linux ARM , Linux Kernel Mailing List Subject: Re: [PATCH 1/8] cpufreq: allow drivers to flag custom support for freq invariance Message-ID: <20200702114425.GB28120@arm.com> References: <20200701090751.7543-1-ionela.voinescu@arm.com> <20200701090751.7543-2-ionela.voinescu@arm.com> <20200701094417.ffuvduz6pqknjcks@vireshk-i7> <20200701133330.GA32736@arm.com> <20200702025818.s4oh7rzz3tr6zwqr@vireshk-i7> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20200702025818.s4oh7rzz3tr6zwqr@vireshk-i7> User-Agent: Mutt/1.9.4 (2018-02-28) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi, On Thursday 02 Jul 2020 at 08:28:18 (+0530), Viresh Kumar wrote: > On 01-07-20, 18:05, Rafael J. Wysocki wrote: > > On Wed, Jul 1, 2020 at 3:33 PM Ionela Voinescu wrote: > > > On Wednesday 01 Jul 2020 at 16:16:17 (+0530), Viresh Kumar wrote: > > > > I will rather suggest CPUFREQ_SKIP_SET_FREQ_SCALE as the name and > > > > functionality. We need to give drivers a choice if they do not want > > > > the core to do it on their behalf, because they are doing it on their > > > > own or they don't want to do it. > > > > Well, this would go backwards to me, as we seem to be designing an > > opt-out flag for something that's not even implemented already. > > > > I would go for an opt-in instead. That would be much cleaner and less > > prone to regressions IMO. > > That's fine, I just wanted an option for drivers to opt-out of this > thing. I felt okay with the opt-out flag as this should be enabled for > most of the drivers and so enabling by default looked okay as well. > > > > In this case we would not be able to tell if cpufreq (driver or core) > > > can provide the frequency scale factor, so we would not be able to tell > > > if the system is really frequency invariant; CPUFREQ_SKIP_SET_FREQ_SCALE > > That is easy to fix. Let the drivers call > enable_cpufreq_freq_invariance() and set the flag. > Right! I suppose part of "the dream" :) was for drivers to be ignorant of frequency invariance, and for the core to figure out if it has proper information to potentially* pass to the scheduler. *potentially = depending on the arch_set_freq_scale() definition. > > > would be set if either: > > > - the driver calls arch_set_freq_scale() on its own > > > - the driver does not want arch_set_freq_scale() to be called. > > > > > > So at the core level we would not be able to distinguish between the > > > two, and return whether cpufreq-based invariance is supported. > > > > > > I don't really see a reason why a driver would not want to set the > > > frequency scale factor > > A simple case where the driver doesn't have any idea what the real > freq For me, this would have been filtered by either the type of callback they use (target_index(), fast_switch() and even target() would offer some close to accurate indication of the current frequency, while setpolicy() it obviously targets a range of frequencies) or by the definition of arch_set_freq_scale(). > ..of the CPU is and it doesn't have counters to guess it as well. > > There can be other reasons which we aren't able to imagine at this > point of time. > But I understand both the points you and Rafael raised so it's obvious that a 'opt in' flag would be the better option. Thank you both, Ionela. > -- > viresh