Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752112AbcCDL6B (ORCPT ); Fri, 4 Mar 2016 06:58:01 -0500 Received: from foss.arm.com ([217.140.101.70]:43642 "EHLO foss.arm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750777AbcCDL56 (ORCPT ); Fri, 4 Mar 2016 06:57:58 -0500 Date: Fri, 4 Mar 2016 11:57:53 +0000 From: Javi Merino To: Leo Yan Cc: Eduardo Valentin , Wei Xu , Rob Herring , Pawel Moll , Mark Rutland , Ian Campbell , Kumar Gala , Catalin Marinas , Will Deacon , Zhang Rui , kongxinwei , Punit Agrawal , linux-arm-kernel@lists.infradead.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-pm@vger.kernel.org Subject: Re: [PATCH v2 1/5] thermal: change "hysteresis" as optional property Message-ID: <20160304115752.GA13894@e104805> References: <1456458227-12950-1-git-send-email-leo.yan@linaro.org> <1456458227-12950-2-git-send-email-leo.yan@linaro.org> <20160303162942.GA2445@localhost.localdomain> <20160304030349.GA11012@leoy-linaro> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: <20160304030349.GA11012@leoy-linaro> User-Agent: Mutt/1.5.21 (2010-09-15) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2220 Lines: 48 On Fri, Mar 04, 2016 at 11:03:49AM +0800, Leo Yan wrote: > Hi Eduardo, > > On Thu, Mar 03, 2016 at 08:29:44AM -0800, Eduardo Valentin wrote: > > Hi Leo, > > > > On Fri, Feb 26, 2016 at 11:43:43AM +0800, Leo Yan wrote: > > > The property "hysteresis" is mandatory for trip points, so if without > > > it the thermal zone cannot register successfully. But "hysteresis" is > > > ignored in the thermal subsystem and only inquired by several thermal > > > sensor drivers. > > > > I am not sure this a good direction to go. Remember that Linux > > implementation not necessarily has to be the implication of the DT > > binding. Hysteresis is a property that plays a significant role on > > thermal control systems, which in many cases avoid overshooting cooling > > actions. Having the DT writer to explicitly set it to 0 means that zone > > does not suffer of overshooting and does not need hysteresis. > > After review current code, the "hysteresis" is used to calculate > temperature falling threshold with a more conservative value; so that > finally avoid overshooting issue. > > Please confirm if is my understanding correct or not? > > > If the Linux thermal subsystem has a problem with handling hysteresis, I > > would rather fix Linux code than relaxing the DT binding. Or if you > > still believe hysteresis is really optional, I would prefer to see a > > better justification than "Linux ignores it". I see it the other way round, Is hysteresis a property that, without it, the thermal code can't configure itself so it fails to create the trip point? The current code goes "There is no hysteresis for this property, I don't know how to set up this trip point!". I think we can do better than this. > If we think about power allocator governor, PID's two parameters are > also used to dismiss overshooting issue: one is k_po (proportional > term), another is k_i (integral term). So that means after we apply > power allocator governor, we don't need parameter "hysteresis" due PID > algorithm can automatically dismiss potential errors. I disagree. We shouldn't base DT decisions based on only one governor in linux. Having said that, AFAICS all governors currently ignore hysteresis. Cheers, Javi