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=-5.2 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,USER_AGENT_SANE_1 autolearn=unavailable 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 F28ADC433E0 for ; Sat, 20 Jun 2020 17:50:00 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id D6F1323F38 for ; Sat, 20 Jun 2020 17:50:00 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728361AbgFTRtP (ORCPT ); Sat, 20 Jun 2020 13:49:15 -0400 Received: from foss.arm.com ([217.140.110.172]:56222 "EHLO foss.arm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726838AbgFTRtP (ORCPT ); Sat, 20 Jun 2020 13:49:15 -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 748B4C0A; Sat, 20 Jun 2020 10:49:14 -0700 (PDT) Received: from localhost (unknown [10.1.198.53]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 1479B3F6CF; Sat, 20 Jun 2020 10:49:13 -0700 (PDT) Date: Sat, 20 Jun 2020 18:49:12 +0100 From: Ionela Voinescu To: Vincent Guittot Cc: Valentin Schneider , Juri Lelli , "open list:THERMAL" , Peter Zijlstra , Viresh Kumar , Amit Daniel Kachhap , Daniel Lezcano , Russell King , Thara Gopinath , linux-kernel , Sudeep Holla , Dietmar Eggemann , Ingo Molnar , LAK Subject: Re: [PATCH 1/3] thermal/cpu-cooling, sched/core: Cleanup thermal pressure definition Message-ID: <20200620174912.GA18358@arm.com> References: <20200614010755.9129-1-valentin.schneider@arm.com> <20200614010755.9129-2-valentin.schneider@arm.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: 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 Vincent, On Thursday 18 Jun 2020 at 17:03:24 (+0200), Vincent Guittot wrote: > On Sun, 14 Jun 2020 at 03:10, Valentin Schneider > wrote: [..] > > diff --git a/drivers/thermal/cpufreq_cooling.c b/drivers/thermal/cpufreq_cooling.c > > index e297e135c031..a1efd379b683 100644 > > --- a/drivers/thermal/cpufreq_cooling.c > > +++ b/drivers/thermal/cpufreq_cooling.c > > @@ -417,6 +417,11 @@ static int cpufreq_get_cur_state(struct thermal_cooling_device *cdev, > > return 0; > > } > > > > +__weak void > > +arch_set_thermal_pressure(const struct cpumask *cpus, unsigned long th_pressure) > > +{ > > +} > > Having this weak function declared in cpufreq_cooling is weird. This > means that we will have to do so for each one that wants to use it. > > Can't you declare an empty function in a common header file ? Do we expect anyone other than cpufreq_cooling to call arch_set_thermal_pressure()? I'm not against any of the options, either having it here as a week default definition (same as done for arch_set_freq_scale() in cpufreq.c) or in a common header (as done for arch_scale_freq_capacity() in sched.h). But for me, Valentin's implementation seems more natural as setters are usually only called from within the framework that does the control (throttling for thermal or frequency setting for cpufreq) and we probably want to think twice if we want to call them from other places. Thanks, Ionela.