From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751440AbdFFPsl (ORCPT ); Tue, 6 Jun 2017 11:48:41 -0400 Received: from mail-by2nam01on0058.outbound.protection.outlook.com ([104.47.34.58]:13984 "EHLO NAM01-BY2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751281AbdFFPsi (ORCPT ); Tue, 6 Jun 2017 11:48:38 -0400 Authentication-Results: spf=fail (sender IP is 192.88.168.50) smtp.mailfrom=nxp.com; rjwysocki.net; dkim=none (message not signed) header.d=none;rjwysocki.net; dmarc=fail action=none header.from=nxp.com; Message-ID: <1496764110.28352.49.camel@nxp.com> Subject: Re: [PATCH] cpufreq: Find transition latency dynamically From: Leonard Crestez To: Viresh Kumar CC: , , , Vincent Guittot , Rafael Wysocki Date: Tue, 6 Jun 2017 18:48:30 +0300 In-Reply-To: <8041a965fcca71231576ae77a141b1e4333a81cc.1496402967.git.viresh.kumar@linaro.org> References: <8041a965fcca71231576ae77a141b1e4333a81cc.1496402967.git.viresh.kumar@linaro.org> Content-Type: text/plain; charset="UTF-8" X-Mailer: Evolution 3.18.5.2-0ubuntu3.2 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-EOPAttributedMessage: 0 X-Matching-Connectors: 131412377144744617;(91ab9b29-cfa4-454e-5278-08d120cd25b8);() X-Forefront-Antispam-Report: CIP:192.88.168.50;IPV:NLI;CTRY:US;EFV:NLI;SFV:NSPM;SFS:(10009020)(6009001)(336005)(39450400003)(39860400002)(39840400002)(39850400002)(39400400002)(39380400002)(39410400002)(2980300002)(1110001)(1109001)(339900001)(377424004)(24454002)(52314003)(199003)(189002)(9170700003)(50986999)(8676002)(6246003)(110136004)(38730400002)(86362001)(4326008)(2906002)(54906002)(2950100002)(498600001)(356003)(2870700001)(53936002)(104016004)(229853002)(77096006)(105606002)(23676002)(189998001)(76176999)(6916009)(85426001)(103116003)(5660300001)(106466001)(305945005)(81166006)(8936002)(50226002)(47776003)(36756003)(50466002)(5820100001)(33646002)(99106002);DIR:OUT;SFP:1101;SCL:1;SRVR:CY1PR0301MB0906;H:tx30smr01.am.freescale.net;FPR:;SPF:Fail;MLV:ovrnspm;A:1;MX:1;PTR:InfoDomainNonexistent;LANG:en; X-Microsoft-Exchange-Diagnostics: 1;BY2FFO11FD007;1:WKCLT+CYkwirUi3pCQ8B4DomG0gQyT6zvNcJu6AIjhRWrj9ONtSpKuThtQ4jRtb2BdxKRnQxP/Go4oOoIGTD254oA5838kZmk59YtRv/NHXhf79bgkTQ186GYw+9Q3UJ018MaX2vUKwbBSYprfeoLkO52rjZw6GFpmZeLRDbR2ubhnLjd8xOX00pPuQXuDFMtDAsmrE1ly4zG761S+qgEZt3NC4An8AJ1IeIhtufUKYFlUWcp0nqdKFLypqL/WCEQjaekIPSJSk/PWQsWKER+3jbMbWVcfmtddpwBAMDWGUbfSZzvwu4L8mmamdLahyw6D0ESFsmL6t9XsjgeblVqkDgD2RHkkx+N2yQ8+p5LEOOXnVUyLSDSwIWQfS43q0CZqAeNmkR4if+RfaXjXRhl9nZBDRusXCJGxrhd7snunGXFWedErgJ+g+56gtFoZo03v3BX4JjoxS1m+RXwZ/1oYwNPe24EZ9LqUoXMxfexsnNmTQ8Z71M3bFX8615x6ecFpH63SNnwIYDijOucSUoPmpfoz5l4iOW0shLJyzlK/s/bbhcc9PsLi/ce6ra9yfKi/7OVFZ+zrd+hzm8r1Z5LQ== X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CY1PR0301MB0906: X-MS-Office365-Filtering-Correlation-Id: 445c29e0-bb40-47dc-f948-08d4acf37d41 X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001)(201703131430075)(201703131517081);SRVR:CY1PR0301MB0906; X-Microsoft-Exchange-Diagnostics: 1;CY1PR0301MB0906;3:TubnGg0Opc2RmoyvW/mBmVoeu371+BRlmDOHCfJ6rcmK1bov2m+vsZ17Dr3/v08scIT8Ks6grEh8m/fSd0HAQ73b/s34I1QbqtDaCldD3AM1huGQaOo+evoJoGMLwAvu/RmrimEbNW9U0iOJkWQsnQ5GCokNxN568wbiUaeg+NNLj6SOm91xKODsnSZYIhcbwaGUcy8B+GqjMe5F8FqPgM0wKlm2s7HnzSFLD7dQGh48YZ8+99gfbiGOpOj/PFSwsISiqoiNl0+Xj4pxtcM5WhncIkPD6YOswZyiHoMcyhkMzMv5fFaCwRlIj8NdGpgsD9m9pRYAcg0MYI4tKPAw7evTV1PWw3Nt/p2Xa1ueXZfhMTBlX0xnmEZTsdqt1owSBeaF/oUbH2O7129NN9RoSt00/AwNEyP2Qa+aPUuZZR5Yfps03BfMC8baPqZlDM5V;25:NeoiUOnxQ84MvTIxbd2AJD2GQJw3LxhttyiKsMNTO9eWfpqVAxrZXB7YSuZK/iP7/y4bJmAuTkotbh+1I3sxHZiMTo08undE2wnYN8lPo7ByRfesfdAUpmv8rIviThLxd9qwSWIMYzum8knHFOHLvZS+lVcI1D/doi9StUROkwm1CdFSMTmsvTrsk+pyJR2iqcTKowghNYJBoYxt+OiwTq98OOFQTi/2HhmLhzVTiJQGTXfzEhDnQk27YyEwU7oPrlE4qHgGMeUDOOCoJUlD35ftMHlwFgLe7HY6tDhaJHnMhLcOctGjOaQfAjY4LKz3aqu0Kh01wDiWXDYcQra50TmFFVU8vVoQXdRIZ/bfwZtGlX/ZqSftzkLV1CCvHt0KtXd03bMAj6mR4+Xqc7W2Y7O41cNBfLDXbcX/odzxSGsnEZ8Bzw2cGQSTu/60AXfec17+2uq0in6RNTcGeyXrgN7z48mGFqZUnJ9qaGxhToM= X-Microsoft-Exchange-Diagnostics: 1;CY1PR0301MB0906;31:p0/j7CxGmhqf8ukwOik36Xi/NrAdU1dUa5A8aHtW+nFb5rxxTbeCe7z14vEeui2SZHZBOAU5v30l/K548va8xaxQgbANuvrWj9OdOCl3jN+KPousEJjyolnBDNiiWpoMd9YZ2UFU+z4D53NLm/QKqdzKJdT7Dl92l48RQ4EK1bcIrjv+QmPBb2qWd8QRjEgeW+BIuGOOJH5iyLjw1Uia7MmTJtjan7/dXRnxJQ2nVo4GuDJ5KP2YQdBmSe7ZC5Z1WLeHc/qG7t51nBG70ynUbQ== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6095135)(601004)(2401047)(5005006)(8121501046)(13018025)(13016025)(100000703101)(100105400095)(3002001)(10201501046)(93006095)(93001095)(6055026)(6096035)(20161123563025)(20161123556025)(20161123565025)(20161123559100)(20161123561025)(201703131430075)(201703131441075)(201703131448075)(201703131433075)(201703161259150)(100000704101)(100105200095)(100000705101)(100105500095);SRVR:CY1PR0301MB0906;BCL:0;PCL:0;RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(400006)(100000804101)(100110200095)(100000805101)(100110500095);SRVR:CY1PR0301MB0906; X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtDWTFQUjAzMDFNQjA5MDY7NDpPRlQxOHJBYTZQYWZYOFFNRmpOMWM1VVlU?= =?utf-8?B?eHJQeUJNSW81aWZwemdoL09tZWt1Wklkd3JybStZU2xtSy9uOS9TM2NVWUNL?= =?utf-8?B?LzZLQXp4NHFZRE5LY2tEcnRpbFpKWVkyamh1ZVZvcXIwZHdBQlpLelEzdjFM?= =?utf-8?B?L2ExM255K0REdXFFb2dFaHpCalQ3a3ExVFBxQkg5S2JKcU5RbUR1UEduSlF3?= =?utf-8?B?cDBxUEJLK2Q0V0EyaGlZM2xNZGZHMjNHb2xvMk1QS3AwUWZmdmFrbUFyTkdq?= =?utf-8?B?bDZWOWc5ZmlldFdlYUtDOXk5N0s2dC9ZRTdQdnY1aitYQVNsQmhGMzhyN3Za?= =?utf-8?B?aDBocHl4S2xoeDdUWWcwYWxGRFpLQ0FvbkZmb2J2MlZWQXpUYjlxeDdzc0tX?= =?utf-8?B?UnBSTWhVTkhwRzZaTGFjYk45Rzl1Z05uQ0RmdUlzSmxsMXY5YnRXckhaZGRs?= =?utf-8?B?Qit4aE1CYkVvNElzVTllaFdqZHMyKzdXNnVESEYxZ2UxZWtVS3pSc2JCRjhY?= =?utf-8?B?V0RKczdGSGxpWjR4YS9JdG5VMElXdUE0ejdYWktSTmVJcmR1MlMyVmZlOTBy?= =?utf-8?B?S3YrUE9kNk5GaG9hR0R2ZnVXbjRON3h4RmRkZHo0ZzFPN2dld3VKdE1GQjJx?= =?utf-8?B?U0hTaFBhcmNqLzJCUHR2bURYTENOdXF2OEdoTmU3RWg0dE9WMUMzNk9FV2dU?= =?utf-8?B?TFBrc1lNTW1lNml4NmhRVDY5UktGOTRkcDBjTWdSOVllUkdZMmRzTzRqRlA5?= =?utf-8?B?YmozTGRWSStUcFF0aEcvM2dPbklxRXZnTEVpcG5RdGovSGxqSkpJVGdvSlp5?= =?utf-8?B?TUlXdmxTM1ZhK0NjNTFZZXdCTXNqRmRQdFpMdmRVWFN1byttUWl0dGltcjcx?= =?utf-8?B?dFp2QkFPZnN4Zk8zL3A1RDdHOWpUUGdQclBJUUFpSWhjemMvZERnd3hTQVg2?= =?utf-8?B?Y1lIckxVRnpkK2c4bkhvV01QMVdWNGNsUFhuUG1HSlZxZjhRZ1BNTkprT2wr?= =?utf-8?B?TmtWWkg3MEtiTFllNkZnQXhROW1rN0kxNThTWjNnRzVvNnhtcjdhT2FhOHVj?= =?utf-8?B?YmFKc1FKSlRuRHZxeVYrVml6WXkxbS9DRDllSGF0U056bFN6ZXF4Zit6Ukdv?= =?utf-8?B?Tzd5UWhSTjF0RWgxYmJ3eVBwdktRMU0rc3BPQ2VZeEdpN2hNRGpEcGZmVmh6?= =?utf-8?B?YjlMUkFCclVmS0tLa0kyVUJOZjU0d2ZIeGJaNlhsRDZvelloc0FCSmxuNGs3?= =?utf-8?B?d2g2YlJuTVNxV0xpMFRaMC9iUzJPQVF2TnpXRUFHblpES0FhSlM4R0xvVDh5?= =?utf-8?B?eG4wVFZEM1I3ZlBqWWIrU2k5d1VBakpkUjRqUktDZnBhbm9VYmZMU1Q0LzRV?= =?utf-8?B?ak5RWlBTUmVzc2NkU09id1BibVFOR1B6NXd5R04xazBZNzRyVjMxMm53YnZk?= =?utf-8?B?cWozd0hsMVNPODMwRGRhazRBbGR4Y2VYY3ZmQjMrK3NLc0VuQ0NERVpNSElM?= =?utf-8?B?TkZDMjJQT2cxbHdFaDJZaGdaMEQxS2R1QytONW5NVCtZVm9DUEZBWnlBTktO?= =?utf-8?B?SDk5TXlMM0JrL1AvQUptQkNQa0xKajVSWXNkL05iN0Q5eDJIWXNmSldkZ1ha?= =?utf-8?B?MzBvQzlTczh6ZitLaUZERENDT2tTZ3l3WVp4VGlHL2RtMUducnJjYlZ2UT09?= X-Forefront-PRVS: 033054F29A X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtDWTFQUjAzMDFNQjA5MDY7MjM6aFRENm56Y2RVUFprWlVZRjh6TTlSZ1N0?= =?utf-8?B?MzZyRU45SjlVNGZ3NThNZ3lvVEVoc25ibTZBUExZZlgvZkIvaXYzU1JSUXBw?= =?utf-8?B?Y3ZEWXZ5UjNCMzBMQkdUV0VDUTdlUGZveWJ1dzFtMW10ZVZFeUFwUHJuSEFB?= =?utf-8?B?eEJ2dnc0SXRDN3lUOTFveTZtSWNWTDR2aEhjRjdBQnpudnBqcE55KzRGSjlE?= =?utf-8?B?bjF6U1VpVW9mRUdrWFB4SG5meE82cEtFcVhjS0xaUEhFZlNZaGx4N2dtd2Uy?= =?utf-8?B?Q1VIZzkwNVFDMmhkRE9RUXpYQXZtWmMvcFNWejJNaDZOTWlwM0JwOGxFaW5M?= =?utf-8?B?d2Z2aUYrNHJSdXJGd0NweE9OQ0pXWmFFSm1EQ0d5ZkhSTWhLWnMrdm5Ddmpj?= =?utf-8?B?S2J3Ti9nN0tEM08rWDJtWmhqbzJoeERtWnp1QmlGWTJqalVMUTZJcExIQUZJ?= =?utf-8?B?ank5S3lLeExTTTY3SnJmTW0wK2hjT0NUdjdCdlJHRjJvajhIMEwrWTNFckNo?= =?utf-8?B?ZUxSS1VNNENwRk9aazhQa0NWRFUwRDBlSm1ScWpqQlErbU8wTkdpc3RDUlN6?= =?utf-8?B?R0VWV1hEaGhkZG1nWlJmUTV2RFNXU2hxWFZ1SlRCdDVYdkJPdzhyTGJjUit4?= =?utf-8?B?MzB6Y3hQQUZaM2piNmVqbzFSOXNqb2pZNWpPZGR2cFBKTUw0M0VuU0tEOXdt?= =?utf-8?B?djFvK29reXNpYjlzTUtUdDExdzRWSFdLQlErOWovdStSOGRDKzE3aDM0MW00?= =?utf-8?B?ZnN3RmZzblNpUTBzc0dqUm1oSHVOcW5QVU9lTHo2Nk8xSlhHYTlmajRHUHN0?= =?utf-8?B?VVg3YitvQVpadnlCSmpqNnVKSVljdGFPTERFVnZFT3VTSUhTVENkdm9zL2FW?= =?utf-8?B?ZFlUK3lFc2xOSTEzbmVZdzFpY1EwZXUrRHJNTGR4QXFNcXVhTVV5MzF2bVhT?= =?utf-8?B?MjN0R3E0RWc2K3owUHd2aFlKQk5aMjFmUjlHaWhqNkZXeXJDWWxUL1hIb0Rr?= =?utf-8?B?YmdxRDdPQ3NEZmdJYmxCT1Jsc0xWSmdJa2hzY0wzQVhNVGtOSG9ENnBRUnJR?= =?utf-8?B?T202VGp0Z2dVa1ZzTEduQkxSSVhWcDNJdjBnRVZJalpYTk0yd0F0dlVKekZY?= =?utf-8?B?YkRGVDRnVlFKd28zYUFVZjFnRXVVV0VVWWgrV052TE9ORXplZXdhU0VJdG5k?= =?utf-8?B?SWNlSCtKVVhBU0dCeDZvTGtZT0NqaGlEMEV6b2NMdUFwcllzd1pBRXRnTEZJ?= =?utf-8?B?RGpHVVFHSWhxSVVkWnpsTkE3TEFyNm5TbU9Xb2p2L25SV0FFWXM2Yks3Q2wy?= =?utf-8?B?Wld1RnlnbFRVVklNNFdTN0VkNDV5T1RzNVI5eFkzWHFhRHR3cU9Zc3RYenVi?= =?utf-8?B?cDFrd2FsSWRHSFRBNFEvMWk1eXgxMExsU21MZ1lMTSttNnpzRHNLeEg4cjFy?= =?utf-8?B?YVdKNFhjMFdSZ1VUaEdZOHNDQnZOUXZMejdzZkF6aFlQR3phY3dPN2VOVThn?= =?utf-8?B?Zm5RSW95SndwdnEyLzNxT2JqdXljc3lTb1NDaFU2OUhEMVRDSEMrMUdhdzlK?= =?utf-8?B?N09ES0RWdkIzQXpsNmg3dURRWm5GWFVGUzJjaDR5OC9SZGNHbmdhQ1VzUmpC?= =?utf-8?B?WjZLUlY2WG1HWHY0YWdRSWZCTFhZaS9CRWZ2Rm1hME1PSWZ0d3YxeVZpRXc1?= =?utf-8?B?Mk8zYTUrYk1YcElYMlNqeVhVSkZXQlo0aHc1eFhqRUtjYU5ZWnpjc1RQVktU?= =?utf-8?B?Zmc5Y2tsTGtaU0NRU3k5SHBOSWd0SVhIdXNIUUFJUzhiMk1lMmtVeFFrR0Zo?= =?utf-8?B?UzlFblNxQVpmTW9scXA4YmU3aGM3RVhhL0dyY2RtT3JPT1dmUT09?= X-Microsoft-Exchange-Diagnostics: 1;CY1PR0301MB0906;6:xJUf8/CplmXX/pOTf42LROYOht+7zo66CfhOXWd1+XwWz66r6j0SOv1VJnilkU1mETa2SwRZWofCJrXZS3oRISiAP+OmycOHcCXZ8UQ2uzRc3qKV0TWiFhVhaOis3bz8V4ohfzj7q4VRbOAwGHK3UcSbXoVk9TyOkEOeGcIXE9JnlZZVpvXLRX8RIhPYxjmubPP/qk7AFInqzssyVN8f/SSRCtOa5Uy5A1erKaO/r2+YchvOsxek0hJKHI8BrlXeaOzzNm2KL//FDFhxQ8221Q8dSQMxtqH4yTg1zSdZ2lMRcHijIEW3sLtTK0JWv8egqmgToteAslwpd2CriH3cQEI8XsRCKkhrPNmb5IhcMqsqLetQq4/zDzAH1r1dnf+LNb3OEY3tjAtSEMiCRBZilo+sO6/1mNv3qeNArGh6F0iIpD3WxYwDlhePXYP/gsLuXRRHxU0fD/u9QUgPffFddmfEPFcRV3hLkHghGjVq9Pt/goe7meVMrjBt5R+nwagt+IPKysqGwhp4bnRlFcaRRA== X-Microsoft-Exchange-Diagnostics: 1;CY1PR0301MB0906;5:m25MaZSdFl+Zb6+5byFJBR5HkxnpQnQPO7hUFyPTC6pP804JOh/+/5wcShkQWjWYt/OY51de0cRlJD2Dow9cvhxpNk7lFJ7yPOJoGcVnkV/71+aquCEMAyJ1IbwRRMUTXsWqQ8X8hZGWvC6707sIlpEvBhce3UESAPRCSu6XxPQq5EhVKlnVplo0bIBLk2fNsPwHkSliyNAUSdJhHeTDfmw7DE5NyFTvIwMRkAkxwIOJB83lVUL46MIUZz/7xQIXg0Ezwmiu/9t27EZICt4I2YeJmo2Zsu6ucBNmfbsLuPYCttxdDXp2M1/ncDq62KGeApd3niqneqqUiZmLLEz1WHiUvA/Hsl9jPufUessf8XL1/UnFTbWfxCXsVmpvu1A5CK1TyyErZtMdSy2nXU8W1987sH1BLPap4yq4dnkj7oSj7UP8ml32Mg1D659tiiIYDOywBneWkBS3fsZZ8YKNVWIBwmN7IEjQ85nLvimoXx8LEdLeLAZioChqSOD9J+y511HaAYECmcjXPPB0wNOPeA==;24:ElbwnBsVDTNccX9zQBUDfsSHrdtyf+pkDyLBc+ekGPTf6hya9vLPlMFb30Ssjrgd5UegiDlmQ67E47epbj1AVr57fBoF6WqRqvmmWH0bBIc= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;CY1PR0301MB0906;7:EiWtbv+tw+Fc02Xhscx0eclFIs8113MZ0Vfq+beNQnglaU4hc1HKcIQhhd8MVnOSnCQQLFjBm064P0h3AKs0nibsmAQZkfY6YC5ox3awVtyGpBg/HsS3ueZQYEglRCN3mWPtKQktkg+IPF1BFaTEDu9uPeX2clcE6aK/qAnInzrdlL4FWBJsLp9CCjPnddbQlQrKOMD+h8r9djNBkqKR4lDscFPnDRD/f8Bfsm0UGT7DtZD2wl3u9bPx0IGzCSftqkYe2iSCF0qkIN7p43AQnt9+x7zJItvD3S34w5koZqpDzIM9pglj/bMGf5nSfS2Rozm/f8Ds2V/MoBVaFApl2A== X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Jun 2017 15:48:34.2716 (UTC) X-MS-Exchange-CrossTenant-Id: 5afe0b00-7697-4969-b663-5eab37d5f47e X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=5afe0b00-7697-4969-b663-5eab37d5f47e;Ip=[192.88.168.50];Helo=[tx30smr01.am.freescale.net] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY1PR0301MB0906 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Fri, 2017-06-02 at 16:59 +0530, Viresh Kumar wrote: > The transition_latency_ns represents the maximum time it can take for > the hardware to switch from/to any frequency for a CPU. > > The transition_latency_ns is used currently for two purposes: > > o To check if the hardware latency is over the maximum allowed for a >   governor (only for ondemand and conservative (why not schedutil?)) and >   to decide if the governor can be used or not. > > o To calculate the sampling_rate or rate_limit for the governors by >   multiplying transition_latency_ns with a constant. > > The platform drivers can also set this value to CPUFREQ_ETERNAL if they > don't know this number and in that case we disallow use of ondemand and > conservative governors as the latency would be higher than the maximum > allowed for the governors. > > In many cases this number is forged by the driver authors to get the > default sampling rate to a desired value. Anyway, the actual latency > values can differ from what is received from the hardware designers. > > Over that, what is provided by the drivers is most likely the time it > takes to change frequency of the hardware, which doesn't account the > software overhead involved. > > In order to have guarantees about this number, this patch tries to > calculate the latency dynamically at cpufreq driver registration time by > first switching to min frequency, then to the max and finally back to > the initial frequency. And the maximum of all three is used as the > target_latency. Specifically the time it takes to go from min to max > frequency (when the software runs the slowest) should be good enough, > and even if there is a delta involved then it shouldn't be a lot. > > For now this patch limits this feature only for platforms which have set > the transition latency to CPUFREQ_ETERNAL. Maybe we can convert everyone > to use it in future, but lets see. > > This is tested over ARM64 Hikey platform which currently sets > "clock-latency" as 500 us from DT, while with this patch the actualy > value increased to 800 us. I remember checking if transition latency is correct for imx6q-cpufreq and it does not appear to be. Maybe because i2c latency of regulator adjustments is not counted in? It seems to me it would be much nicer to have a special flag for this instead of overriding CPUFREQ_ETERNAL. Also, wouldn't it be possible to update this dynamically? Just measure the duration every time it happens and do an update like latency = (latency * 7 + latest_latency) / 8. -- Regards, Leonard