Received: by 10.223.185.116 with SMTP id b49csp5283708wrg; Wed, 7 Mar 2018 09:11:31 -0800 (PST) X-Google-Smtp-Source: AG47ELvk3eRkIlfL7o1JE5bk7odiOf3HhA0Jg+O632ODdL8UWkWg3HD16b1HCwbLSO3FJtuB39Ga X-Received: by 10.101.82.139 with SMTP id y11mr18633535pgp.68.1520442691180; Wed, 07 Mar 2018 09:11:31 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1520442691; cv=none; d=google.com; s=arc-20160816; b=r/pMwGV/96o37SxpV4sJtfGaBCnca7kfFG4SzXFYNyX+oZStvm/c74EknwzX0Bsy/H SPce3caRjejsZaWkEv080f8XyRwqWK8NY3uo+P/hCrPH6ujwc/RQVK3k4wa9XPu7UwdZ QgXymhDdC3YFw5GXUHltQbxRY7K1LPfQI6RKLCV8ytYV0/Mjt1TLGaNvPoQFmFNd3HUx qfnzPZtDpoRZ3DORT3aMbKjBiEXSHCG4Fhy0y5ZglcG0oHpQ9/cubBiU9Ef2Xj7G/yQN lXrUa+R5P/g/D5Ar5kByS0ippFqZTDQwy2RfrYT2LfjFaqch7JRSwIlkQp9vbvdi9Al4 xQsQ== 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-transfer-encoding:content-disposition:mime-version :references:message-id:subject:cc:to:from:date:dkim-signature :arc-authentication-results; bh=cVOIDi4hbmKEgFjbsyiWmXOnB5z4lQt7GW6d14Zcb6U=; b=im6IAQuSzkoOTBLalVHpXIF3/02Xumts7RyG8Rar3Kg974sXCw/n/rRKXM1lTF3vT0 quCplHTZBGYsxg2jS3hhf858kWC4IPdhKGOTujKBcliBmHjH3d1OYXUZxsrB2zMiAKOl +3lDS2BetEYi7XoVv/q3Pq2M8idAIeG/bnxVz04QHCQgNOjOUYhLJZySfbv6035tYSmm Dz4NOnDCPVnYXqsAP3npy6TQXKcQDyzQkeAQtofIL8chyer/MoRqhVOeb3uKwv7ygYIi gip0RaAX/9ZiASa28ZlFhQrA7Weu3eTa9RjJ5o7z0h7U37JCk7N98oAv0xLRhsZpp8Zw fLDw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=gpHT7UEn; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id e93-v6si13101532plk.159.2018.03.07.09.11.16; Wed, 07 Mar 2018 09:11:31 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=gpHT7UEn; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S933842AbeCGRJd (ORCPT + 99 others); Wed, 7 Mar 2018 12:09:33 -0500 Received: from mail-pl0-f65.google.com ([209.85.160.65]:41006 "EHLO mail-pl0-f65.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S933502AbeCGRJ3 (ORCPT ); Wed, 7 Mar 2018 12:09:29 -0500 Received: by mail-pl0-f65.google.com with SMTP id d9-v6so1663226plo.8; Wed, 07 Mar 2018 09:09:29 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=date:from:to:cc:subject:message-id:references:mime-version :content-disposition:content-transfer-encoding:in-reply-to :user-agent; bh=cVOIDi4hbmKEgFjbsyiWmXOnB5z4lQt7GW6d14Zcb6U=; b=gpHT7UEn0m6XrgnZ4p7hh7YzHSwNM2WpxQe37ARZ8Ikq3I9N9z5NXOfKMQPokwP6xJ qMlxlQD7MQQznIT5uyO8Q/WNWVk4bq03ISooYP0dJRDDAcskE558ssxnOrO8Wwtl1stk r2l5woHFHeinhtm05uCAL3Nq/SzZ5ykbAjBrFhk8LvYH0JlEOJFebKmDzlIevsNnsTr4 Y1ZghDdyKT3pUsEYFXv2BzN3/IfihvZ+OZoqIFoARIpMhKgm+E7v1L/cmtwOLV1LEzIe eebibWIBeQksBXmsqbY1YXEDGOw06FDyaf0SdEiQnPOZBhtUw3Dl+oS9WsJ22pEhiFJ2 Yp4w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:content-transfer-encoding :in-reply-to:user-agent; bh=cVOIDi4hbmKEgFjbsyiWmXOnB5z4lQt7GW6d14Zcb6U=; b=FcTAHIPmD13IfBtmr7FJDS/th4ARn8RdkKGT1f4G5C92OtH10gnhpq7zGrwmtpSa2L DWDttcujtkF2szR4c9atLVUl+KeZ7NKolQ2kwy2FUR3CwOu0PtZzPgWGpVamrBCncgKH J7orGd0hCOO16o3/JoNhqZY3mHekPkIBWEdvuHJL0Vu7uTFvdert45Myew0yYuvl6jMW GGPZGyyObTuYUf+5Wh3D3pJJxsfAu992uU7+O8OSRbb0WJ6tQtvfYUC7ICaIjfUKwwtN epeu4s26YSIjGONDzaAJCVC8pZ39ewlp7p5Ft7Wlvtn8KEzDgCE6DJMu35jI0MKjTk+C XIsw== X-Gm-Message-State: APf1xPA8GANKiyVvfdC1W+joooVtYlRdzeBkR5sc2n05CJwh97NH9FsH PFVJfVy22l6on7nu7cvwvN0= X-Received: by 2002:a17:902:33a5:: with SMTP id b34-v6mr20762913plc.263.1520442568565; Wed, 07 Mar 2018 09:09:28 -0800 (PST) Received: from localhost.localdomain ([2601:644:8201:32e0:7256:81ff:febd:926d]) by smtp.gmail.com with ESMTPSA id c67sm39744360pfl.106.2018.03.07.09.09.27 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 07 Mar 2018 09:09:27 -0800 (PST) Date: Wed, 7 Mar 2018 09:09:25 -0800 From: Eduardo Valentin To: Daniel Lezcano Cc: kevin.wangtao@linaro.org, leo.yan@linaro.org, vincent.guittot@linaro.org, amit.kachhap@gmail.com, linux-kernel@vger.kernel.org, javi.merino@kernel.org, rui.zhang@intel.com, daniel.thompson@linaro.org, linux-pm@vger.kernel.org Subject: Re: [PATCH V2 0/7] CPU cooling device new strategies Message-ID: <20180307170923.GA6543@localhost.localdomain> References: <1519226968-19821-1-git-send-email-daniel.lezcano@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable In-Reply-To: <1519226968-19821-1-git-send-email-daniel.lezcano@linaro.org> User-Agent: Mutt/1.5.23 (2014-03-12) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hello Daniel, On Wed, Feb 21, 2018 at 04:29:21PM +0100, Daniel Lezcano wrote: > Changelog: > V2: > - Dropped the cpu combo cooling device > - Added the acked-by tags > - Replaced task array by a percpu structure > - Fixed the copyright dates > - Fixed the extra lines > - Fixed the compilation macros to be reused > - Fixed the list node removal > - Massaged a couple of function names >=20 >=20 > The following series provides a new way to cool down a SoC by reducing > the dissipated power on the CPUs. Based on the initial work from Kevin > Wangtao, the series implements a CPU cooling device based on idle > injection, relying on the cpuidle framework. Nice! Glad to see that Linaro took this work again. I have a few questions, as follows. >=20 > The patchset is designed to have the current DT binding for the > cpufreq cooling device to be compatible with the new cooling devices. >=20 > Different cpu cooling devices can not co-exist on the system, the cpu > cooling device is enabled or not, and one cooling strategy is selected > (cpufreq or cpuidle). It is not possible to have all of them available > at the same time. However, the goal is to enable them all and be able > to switch from one to another at runtime but that needs a rework of the > thermal framework which is orthogonal to the feature we are providing. >=20 Can you please elaborate on the limitations you found? Please be more specific. > This series is divided into two parts. >=20 > The first part just provides trivial changes for the copyright and > removes an unused field in the cpu freq cooling device structure. >=20 Ok.. > The second part provides the idle injection cooling device, allowing a SoC > without a cpufreq driver to use this cooling device as an alternative. >=20 which is awesome! > The preliminary benchmarks show the following changes: >=20 > On the hikey6220, dhrystone shows a throughtput increase of 40% for an > increase of the latency of 16% while sysbench shows a latency increase > of 5%. I don't follow these numbers. Throughput increase while injecting idle? compared to what? percentages of what? Please be more specific to better describer your work.. >=20 > Initially, the first version provided also the cpuidle + cpufreq combo > cooling device but regarding the latest comments, there is a misfit with > how the cpufreq cooling device and suspend/resume/cpu hotplug/module > loading|unloading behave together while the combo cooling device was > designed assuming the cpufreq cooling device was always there. This > dynamic is investigated and the combo cooling device will be posted > separetely after this series gets merged. Yeah, this is one of the confusing parts. Could you please remind us of the limitations here? Why can't we enable CPUfreq on higher trip points and CPUidle on lower trip points, for example? Specially from a system design point of view, the system engineer typically would benefit of idle injections to achieve overall average CPU frequencies in a more granular fashion, for example, achieving performance vs. cooling between available real frequencies, avoiding real switches. Also, there is a major design question here. After Linaro's attempt to send a cpufreq+cpuidle cooling device(s), there was an attempt to generalize and extend intel powerclamp driver. Do you mind explaining why refactoring intel powerclamp is not possible? Basic idea is the same, no? >=20 > Daniel Lezcano (7): > thermal/drivers/cpu_cooling: Fixup the header and copyright > thermal/drivers/cpu_cooling: Add Software Package Data Exchange (SPDX) > thermal/drivers/cpu_cooling: Remove pointless field > thermal/drivers/Kconfig: Convert the CPU cooling device to a choice > thermal/drivers/cpu_cooling: Add idle cooling device documentation > thermal/drivers/cpu_cooling: Introduce the cpu idle cooling driver > cpuidle/drivers/cpuidle-arm: Register the cooling device >=20 > Documentation/thermal/cpu-idle-cooling.txt | 165 ++++++++++ > drivers/cpuidle/cpuidle-arm.c | 5 + > drivers/thermal/Kconfig | 30 +- > drivers/thermal/cpu_cooling.c | 480 +++++++++++++++++++++++= ++++-- > include/linux/cpu_cooling.h | 15 +- > 5 files changed, 668 insertions(+), 27 deletions(-) > create mode 100644 Documentation/thermal/cpu-idle-cooling.txt >=20 > --=20 > 2.7.4 >=20