From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-2.5 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_SANE_1 autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 6457BC433DF for ; Thu, 2 Jul 2020 11:44:29 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 4697520780 for ; Thu, 2 Jul 2020 11:44:29 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728645AbgGBLo2 (ORCPT ); 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-pm-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-pm@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 From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-2.5 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_HELO_NONE, SPF_PASS,URIBL_BLOCKED,USER_AGENT_SANE_1 autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 1B565C433E0 for ; Thu, 2 Jul 2020 11:45:40 +0000 (UTC) Received: from merlin.infradead.org (merlin.infradead.org [205.233.59.134]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id D768620780 for ; Thu, 2 Jul 2020 11:45:39 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="KZQ6JEd+" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org D768620780 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=arm.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=merlin.20170209; h=Sender:Content-Transfer-Encoding: Content-Type:Cc:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:References:Message-ID: Subject:To:From:Date:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=pAGvoeYuLg9mbZZImuPaV1JGwkVmdRm1Wa+r2m2iiPk=; b=KZQ6JEd+J/pGE46HNR9QN3OfD ncXtYRUNBOSyJ+24il0mnCXyjDyuqcsGHM5fG8l7+3gUMwixwe8VuF0pQfIlWtG3fK5wSbRKTph3H tTgcbJNnBC0vqq9puKGcoODZuVTziUS2DDY2/Lda6WTZUeLBIIUpn9xprSxSI4G7ccA8CkL/Ou0bG OVNT1ra207s6U5Dc8kPATMPTB9l5SpBr/UVIpP2D1s+vnByv69yhKNfyJG+hh9TqxpreEb/Y3cgFM t7GIY2Dj6AvyVBNG3oJ073mWK7/cx1tT/cCWljSmVq/UuDZmG9ar5pQTxU+yW2ntfrg6jq7zBvQ/6 YjGP9bYkA==; Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1jqxdn-0006iQ-9i; Thu, 02 Jul 2020 11:44:31 +0000 Received: from foss.arm.com ([217.140.110.172]) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1jqxdk-0006hN-Em for linux-arm-kernel@lists.infradead.org; Thu, 02 Jul 2020 11:44:29 +0000 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 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-Disposition: inline In-Reply-To: <20200702025818.s4oh7rzz3tr6zwqr@vireshk-i7> User-Agent: Mutt/1.9.4 (2018-02-28) X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20200702_074428_631766_7AA33467 X-CRM114-Status: GOOD ( 30.84 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Linux Kernel Mailing List , "Rafael J. Wysocki" , Peter Zijlstra , Catalin Marinas , Linux PM , "Rafael J. Wysocki" , Russell King - ARM Linux , Dietmar Eggemann , Ingo Molnar , Sudeep Holla , Will Deacon , Valentin Schneider , Linux ARM Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.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 _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel