From mboxrd@z Thu Jan 1 00:00:00 1970 From: Leonard Crestez Subject: Re: [PATCH V3 3/9] cpufreq: Cap the default transition delay value to 10 ms Date: Thu, 27 Jul 2017 19:54:13 +0300 Message-ID: <1501174453.7957.30.camel@nxp.com> References: <1b93c94cb8b4914314e4f50304c3cb11c53d8b14.1500373914.git.viresh.kumar@linaro.org> <1500983686.30745.28.camel@nxp.com> <20170726060634.GY352@vireshk-i7> Mime-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 8bit Return-path: In-Reply-To: <20170726060634.GY352@vireshk-i7> Sender: linux-kernel-owner@vger.kernel.org To: Viresh Kumar Cc: linux-pm@vger.kernel.org, Vincent Guittot , linux@dominikbrodowski.net, linux-kernel@vger.kernel.org, Rafael Wysocki List-Id: linux-pm@vger.kernel.org On Wed, 2017-07-26 at 11:36 +0530, Viresh Kumar wrote: > On 25-07-17, 14:54, Leonard Crestez wrote: > > This patch made it's way into linux-next and it seems to cause imx socs > > to almost always hang around their max frequency with the ondemand > > governor, even when almost completely idle. The lowest frequency is > > never reached. This seems wrong? > > This driver calculates transition_latency at probe time, the value is > > not terribly accurate but it reaches values like latency = 109 us, so > So this is the value that is stored in the global variable > "transition_latency" in the imx6q-cpufreq.c file? i.e. > transition_latency = 109000 (ns) to be exact ? Yes. > - Don't use this patch and try to change ondemand's sampling rate from >   sysfs. Try setting it to 10000 and see if the behavior is identical >   to after this patch. Yes, it seems to be. Also setting 100000 explicitly fixes this. I also tried to switch from HZ=100 to HZ=1000 but that did not make a difference. > - Find how much time does it really take to change the frequency of >   the CPU. I don't really thing 109 us is the right transition >   latency. Use attached patch for that and look for the print message. Your patch measures latencies of around 2.5ms, but it can vary between 1.6 ms to 3ms from boot-to-boot. This is a lot more than what the driver reports. Most transitions seem to be faster. I did a little digging and it seems that a majority of time is always spent inside clk_pllv3_wait_lock which spins on a HW bit while doing usleep_range(50, 500). I originally thought it was because of regulators but the delays involved in that are smaller. Measuring wall time on a process that can sleep seems dubious, isn't this vulnerable to random delays because of other tasks? > Without this patch the sampling rate of ondemand governor will be 109 > ms. And after this patch it would be capped at 10 ms. Why would that > screw up anyone's setup ? I don't have an answer to that right now. On a closer look it seems that most of the time is actually spent at low cpufreq though (90%+). Your change makes it so that even something like "sleep 1; cat scaling_cur_freq" raises the frequency to the maximum. This happens enough that even if you do it in a loop you will never see the minimum frequency. It seems there is enough internal bookkeeping on such a wakeup that it takes more than 10ms and enough for a reevaluation of cpufreq until cat returns the value?!   I found this by enabling the power:cpu_frequency tracepoint event and checking for deltas with a script. Enabling CPU_FREQ_STAT show this: time_in_state: 396000 1609 792000 71 996000 54 trans_table:    From  :    To          :    396000    792000    996000     396000:         0        10         7     792000:        16         0        12     996000:         1        18         0  This is very unexpected but not necessarily wrong. -- Regards, Leonard From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751696AbdG0QyW (ORCPT ); Thu, 27 Jul 2017 12:54:22 -0400 Received: from mail-by2nam03on0089.outbound.protection.outlook.com ([104.47.42.89]:9066 "EHLO NAM03-BY2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751451AbdG0QyS (ORCPT ); Thu, 27 Jul 2017 12:54:18 -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: <1501174453.7957.30.camel@nxp.com> Subject: Re: [PATCH V3 3/9] cpufreq: Cap the default transition delay value to 10 ms From: Leonard Crestez To: Viresh Kumar CC: , Vincent Guittot , , , Rafael Wysocki Date: Thu, 27 Jul 2017 19:54:13 +0300 In-Reply-To: <20170726060634.GY352@vireshk-i7> References: <1b93c94cb8b4914314e4f50304c3cb11c53d8b14.1500373914.git.viresh.kumar@linaro.org> <1500983686.30745.28.camel@nxp.com> <20170726060634.GY352@vireshk-i7> 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: 131456480566751289;(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)(39400400002)(39860400002)(39850400002)(39840400002)(39410400002)(39450400003)(39380400002)(2980300002)(1109001)(1110001)(339900001)(377424004)(189002)(24454002)(199003)(5660300001)(189998001)(33646002)(626005)(76176999)(53936002)(36756003)(85426001)(50986999)(47776003)(77096006)(5820100001)(54906002)(5890100001)(38730400002)(305945005)(6246003)(110136004)(23676002)(97736004)(50466002)(103116003)(229853002)(356003)(8676002)(81166006)(106466001)(50226002)(2906002)(105606002)(81156014)(8936002)(2870700001)(68736007)(86362001)(93886004)(498600001)(4326008)(2950100002)(6916009)(104016004)(53546010)(99106002);DIR:OUT;SFP:1101;SCL:1;SRVR:BY2PR0301MB2118;H:tx30smr01.am.freescale.net;FPR:;SPF:Fail;PTR:InfoDomainNonexistent;MX:1;A:1;LANG:en; X-Microsoft-Exchange-Diagnostics: 1;BL2FFO11FD038;1:ES4MWOmyUFUtedZyZdL9+uP79viHrxvwQvW0N2PDkdTOE42lRfhtE07AQzaig8JIOi7QeuGIzjWHWSrS4iurll8cueQVgF8iDDuURPvoBKYSyKo4rEuaF/bG6jGVet0Ud1OMF/bhM8441kc8yMUVvk74QB9bREw+KvpZ5OomiWa6sVC2mGyczz82WRr+Oi1oGVas7GTFz2xj1rr2u7qe8ESfb1G3BQaAgPmeEtxZIsGR4tapx4nqIihI+IvCfYeMf0VLp+M03Ze3QHUGNTIUJhskG1b8RkDVpU/vLdr/bS7YoKuG+hnjLZ4IAtj7qIAJY0IGJXXEoiF8XBquKXdHsLatQ7Z3HO/ZCbo0MUINCCVT8yXr7xDCsVSadHj1odcNCqKdsnaj8DLtCjoeXmzD6ZhKKzVoRjkzFjSFEB81bS8/VP/WmO9MjlvYmjK11E8XM6yu31m3NVS3dM26iKsXuMho44Nfiucx4Cn7V5GX/+t/E81udrGzxhKH8yJwZ5H68XeWIFn86BUwRXNw/7B5qrWGn+G8AWSIppS+/fIVmGXY8gUlT7Pz+pZhzyH3/uhu1UFjW3G960MW/Ixana08jNmGnoAc/o7Udxz4uZIVEmADZpfAYt1O1HMcZg81EePtyeWVZLqRnJYOYeZrxtfcT8JP6uKMHjRChMGxbik5ZhPaLPLRVrSA7S6rPwrc63FYS5LsarsDYo20eldVw7FDBDiP6NZrnu8YdKfMtjV+3pQAp1BCN+EAKzE2ut4USpOQl+eTNZXadGUrlc7B6KcKjMwapNt8eOBq054jMmlSquMXXM+6il8MkDLFvdXLsPj64if+WJv+fCbIZX24C5pchL56FKrInkpEsu9ywAskFkouGed2t81Q2wwcFX6jVxgciEqxcwlkvJh8mllHIQCAEO5tQIujhla0CZ/NTEyljQ4= X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 1479408f-5ec1-47be-b039-08d4d5101e11 X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(300000500095)(300135000095)(300000501095)(300135300095)(22001)(300000502095)(300135100095)(300000503095)(300135400095)(2017052603031)(201703131430075)(201703131517081)(300000504095)(300135200095)(300000505095)(300135600095)(300000506095)(300135500095);SRVR:BY2PR0301MB2118; X-Microsoft-Exchange-Diagnostics: 1;BY2PR0301MB2118;3:3Ry/oSMwIQPYb8LxBqzK6lkjCGb1UXLml0L+rSbbJKNhuOUtNX07mlyT32adAC2x94ZgJ/K7UmGjBdllcXXBWatHp7cG28N768NE5gIjGF3kixk5fG09rr6CZeeajT+sOsABhn0FjfC/qtBVKeEJ8TE3WDuTxI2k8frvuYWA8vRERVuZGXxT73Zha20OToEqI+rQ58r0W7q71IEAIei0rUY/6JcSJw4Z238FZB8jaQgiAUlhaPXbwEp16NKlHkNXsA8ffHvRJY+QxKbXdLJrybsOAZ54roVVr4yBojnE6r2DuE/05hXv/jps7o2GkcfBnoQBwsVfpxerSaiyWbasYsSUmWYWXR+C2SpnajwYYXI3fO9XNmqjYwLVVDy0dNyRqMYkCobnM9cCl5ZYyU249fkaGvAFTh53sF0SOg9CzdQ+qP+KnqTATXq5xBPf1EOMXd6wrthBgnFzVWRBJ7e4ilKDGAfL5aj/rakh9K+QXmgvZuDbAELykojgln+uFz0HciWfZ/oBUOt09x5pJxowuodmAqyrxBErrbzTFp+sVUiLwoTp7QK490i2qR+13cmeG2w2Ivt96fQ+KXid5OqnYYMRBIp4NgWI1cJzuHqHkitJdbTds6e2kCbBnzJpddb30cckKtYC5IpdAQ87DnGf/sSV6t4MXvePyxLQCAyaDDYZgnXLy9fYDCPc6InymNsCYTlwVICs/9OPi5/4nY2iz0N9MG6Agx/6ymBm3HwoJxAzyytnh4n0CWjShRrwqzBW8+Tou3eR+BG1Jzxai+mMot1j9Xez9zzLpqMIGmUpbuzu9yGF+UwqpFCtGgBfdUINIYqfe0Y3GG4GjaL0WpAbOq35A3yqwCH3A0ajRBmr541QUcyFiOF8Kyjqa7+TfLC6 X-MS-TrafficTypeDiagnostic: BY2PR0301MB2118: X-Microsoft-Exchange-Diagnostics: 1;BY2PR0301MB2118;25:nMB+cqUvLaoSiiZLQfOj4y14LRwYDiRZSOrsHHMuHzaD/RJBpdKbRoEtwsB4O+CuS5MAepfRXpz6r5efLJ1rrR/72Btq1YRCmywiFfo6dGogjnL3PNbOHkx/GcMGnQJuCmYyvyy2sMf9HTWBFuOCfQtokrl/UMiA1Yrkw88APTCRJbYMx3OfL2HO6GpW7/j4VXVXAR+SCMdOmN6S1xoAq8G1uIRXJiGxk/vK3vdmHkTwqX854ePzRZozEic8q9J1V8aNQC3Oe3oiy32Pl8d+T0yhvf/qwcxjXGP1I0MTWbW5iNdnsyqZn2RghbbiI8UNw2lMevO18qchJDf94oDoKJEWGSPVhSQTaCpxmjyyKdoSWJXKywOQN6+nmFhJogZ60kXAR2D184gBkWJIJhHG1CMdtnyF2jGrjNQkmHljWyDC4PSzvhGsmmJZFg0VtKdoJBrkIGxP+ul9z+9+q/KYef2zZMSEf8yMYDYbFxSTJ48ATjolsKlD2xl9NzRodF721FrrHrZYN7vHNoX0npDVjYytGWhRIsJaUgQml97nTQvNFcUk0SxxzP1vnLei21LQkPuyf4mUrzBRveRbShZlbq89skoasGS9NSzjQku2m8rblPppCHgYIDb5QkGm4nSZuVUU3SGLWp1p0xE9hz1ltlSv3H1EVFfvPy+0ryhjOACxsB84cTkkm82NlIIhC8Kb2umIUdlazBYck26A52DtCpVQgXsV8BqOG6APmg+FaNVo0iJJ7uVKsS1KffxzVq15vId3weL6fy0tXNryC27h0BODH0KHYW5ULwpXEMxOnsvBVRZpRlSiHpV0ul+4EnS80dvnE/AzPDYvX7Nd1MHEBUk4J9obgb489mSdO20tRhUWbFGJ1kKBaYoM5fRN3hLCHjQtits9zRxtuQ/US8eLeX5gid5A3x21K792SwEgw8Q= X-Microsoft-Exchange-Diagnostics: 1;BY2PR0301MB2118;31:Pqifoj734rRqw4a/aOTnkVCvMC0vnHosQnTkWslQK5u1nqtwqDtWCbIzk2GTlPq3M1ExIPTfHKKlLktpopfuMSYWHTMycchxXC4JILxS2n1jIAcw1CP5imBIWIMh8XsGjkoIUkAUK780N4rPzGQHtza6udTCAt97Zp898lFXtEDDS5NP/jQilwfK3h0sI9L33oMUSn2uivGltwyGvUG68D2Jgx1M6LMQJIa2Rb+RRxpuakzXVuM24D0fTCc2YJVgcFQbKTnVnQrVRfjov7MeCJeq5pPLfCI8shwaSkxflD/xXXUDn8D6KKU8/ipbQxaIMi9L9paB0z2LocPuzHTTPZLoJwy6Uv6NgX1aQ3qII1sh8kDLsWDHg6rNLert0SK0RzjVx4N0+erAlrr3OAxNtfQE/lafC1fg/eqsBLTNBmKCQ/bYl1ywuhkFwnKlOKr6HBOIFGAcofjf/WfPgR9J9sCAdvaDSdjyvwuBOFC/fyb+gPjtu/ZzY1QAJIE63UJAzib7iq8A6SHdt4ZMEhfCIGelFaA4IckRQLtWcYOSbvySR0bZ9ADoLrFz906/PI57ztmcRTjRdsLzi71nFm+sN6qaI+3zbBxN6+ZjwXLuJqIYi8wbloNyvCoeozyweWvSGViM8mRqnIhiKOjpznaSmy01AxeDEfESlclz1DG8k2L9P2FMrNUrrLA2fof2Hso7AaOTBa55BDi1JP0fnAKxOg== X-Exchange-Antispam-Report-Test: UriScan:(17755550239193); X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6095135)(601004)(2401047)(13016025)(5005006)(13018025)(8121501046)(10201501046)(93006095)(93001095)(3002001)(100000703101)(100105400095)(6055026)(6096035)(201703131430075)(201703131433075)(201703131441075)(201703131448075)(201703161259150)(20161123559100)(20161123565025)(20161123563025)(20161123556025)(20161123561025)(100000704101)(100105200095)(100000705101)(100105500095);SRVR:BY2PR0301MB2118;BCL:0;PCL:0;RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(400006)(100000804101)(100110200095)(100000805101)(100110500095);SRVR:BY2PR0301MB2118; X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtCWTJQUjAzMDFNQjIxMTg7NDo3SVNSeWdMK3lKTU5ZaFJ4MDR4ckpDK1Q2?= =?utf-8?B?SldIem5UcmdxRzZzV2NPQ3VXSlF0TE5keVJiSFl6dVRCVy9aamkzaUY1dmNq?= =?utf-8?B?QXE2enkzTmhDRStCOUI4MjUyVVB5UFcvOTdQYzdRaTBOVEFwVHdmOFBacE02?= =?utf-8?B?MCtsR2hTMzl5QU8rWU5FTk1HSjJsU3Jqak5RM3IxME8vVmtWWDdwbjlIQ3dF?= =?utf-8?B?cXpVcVZuaGVFYy9TUGlMVzBxdXdhSkN4OVAvUElCSnBsMUpjOWkyVGpsV3Aw?= =?utf-8?B?ZXp5YnljdEMzWE1sWlltdmZBT0U0blY0TGRlOEJIR01LL3doV0JtL1oza2Jl?= =?utf-8?B?VTNIMDRFR2MzN2ZkdkhWdzM2VU9kTG1CSTd6cDJtUG5tdFNoNzU3SmR4QStB?= =?utf-8?B?Uld0WUZWWFJLSnpaREN3dlFuSmtKaXlwNGpBaC9BSVlYY21XOENRelo4dzlk?= =?utf-8?B?bVNlRHBEYzA3UUFVNjBDdlNmU2h2OCtuSXRHa1EydnAxNGI0QkZMcGp1V2hs?= =?utf-8?B?Q3pEdzN5NC9IRnpQSDVvYjlEZDRGMkZEVzNYSGJmckF3Z0JwaGdMd21IK1py?= =?utf-8?B?TmhkY1JHbTRTYTU4MWFZTnZiTFFlamJDMkNBOFBOYkVIWXFzNHRmMGF6VmRB?= =?utf-8?B?UlkvRUFoZWErRWRyejFtY1VTYUhSRTB0MzdpVGE5OWkrVFNCczYxTkdwSHZH?= =?utf-8?B?NVRIU1dWZHlERWNxdHZ6WGFLdjRxNm9OcDNOZmRPTzc0K2QweERBeXhnaXRy?= =?utf-8?B?VGQyamh5ZzZ3UGc2eVoxMzR5UGNMd1FyU29MWXpTZFMrOUJKWXBYNEFNd2tp?= =?utf-8?B?T1hidVZrMm96TWswbXpIY29PV3pJbzBid2NXVk9EcTRhd1RJNlAybHB5eGJy?= =?utf-8?B?WnVpVjRpenhKcG04UmlVdW9iOVU4ZWErRWlvaWtJZzNMejdiR2VJWnNpOVlI?= =?utf-8?B?UlpjTHFFblFQKzFLZU1RQUwzSnFiSndST2txNHNMUkppR3pWNi9SbVFya3hI?= =?utf-8?B?TXZySmREaVFnUlB1bkZNeG50RVUzejBTK1NMeEs2LzY4bkdCVEQ2QWw1YVhq?= =?utf-8?B?VkV3VGhMWHo1VTFhOUJxOFZUWG5QMXVJRFo5cW8rbXliLytkSklnLytBMFhU?= =?utf-8?B?bjQvSHhCT1BpL2hlNkdpUVFoOExvNkZOeTBsU0Q5bEphOGNLZUxyQ255NnYv?= =?utf-8?B?aldpWjR0bk9nY2RscDBGRlVSNWxzZHVUYzRCYVVtb2M2MXZQZVIvRVdadHFr?= =?utf-8?B?eGw2NVYrVDN4clZSNG5rbTRhdXlVQXkxRm1CSHRqRytodjRqZUsrYWdqcE5j?= =?utf-8?B?Q21DMkRwSEdsZXdvdmRyZ0R6NVV5L2tvUDh2ZEFaOUJWQ0JEQ2xCS3JrMElm?= =?utf-8?B?d3pxU29OWHUwWnhkZWEzUkRzc1dzV0FVQWpXbU5ubTJXeVlvYk1SU1g3dm5J?= =?utf-8?B?R3VYb1FTUEwzVVZSNlRoUUhxNUErUTk3eHVnUUlaRGVxTVh6a3dqUHpCR3Vz?= =?utf-8?B?OHdGQW8rQ2x2REpkYTlBbFBra0MrVjVVb25OVXdvTmpGZXViaFZOMkNQTDV4?= =?utf-8?B?c3hrSWdYdFUxcnNSM0F1N2FVT3U4amhHYWpCTFlQODUyTzRnZkJXWStXODFM?= =?utf-8?B?a3N4bUdSa2V2NU9JT1psYmFIZnprVE05YWcyTTZFd3ZRMVN0M1lPTEQvOXFl?= =?utf-8?Q?Zb17L4N9a22Q9teqCA5RtvCSOpIWDdaKXrMVmjMV?= X-Forefront-PRVS: 03818C953D X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtCWTJQUjAzMDFNQjIxMTg7MjM6SEp2eE1PUVZsRkR0ejVDVWdMWEovcEda?= =?utf-8?B?VWkzeHkrbzk1ZytsSnBjNGFqcEFKWlAyNXZZcXRwQ1NDSGMvYkdia05qNjZm?= =?utf-8?B?QW80dWFTYTViNFNmR0E1RVdkL1c1YTJlU05nV2VTSmVzcGxxVkZaVU8rcmQw?= =?utf-8?B?VEZPdjNDRkR2TFFEc1J4T1RpS3RaeWhCVVhxMUEzUVBKdkJlM3p2OWFObHBO?= =?utf-8?B?eEk3NUh0Nmg1K3pRK2dja2dDN2dmcW1oR3UyL3VUR3JBRm5EVnNkNmRaQWZ3?= =?utf-8?B?Z05TVkphZ0tKcVRuRDl4UE5DZjBrU1VMSzZuZE5uVXBaU0hjYmtzV1JyM2g0?= =?utf-8?B?Z084ZkhDTEc0dTJlcmJWdTdQYTVmNXhxOFozNFQ4OHNqOFFOSUlrN3B4dSs2?= =?utf-8?B?Q1p1K05YWXpXOHl5RERQSkM5dTExcFduVk01NzFMbWRIK3J5eHFuY1Z4N1pU?= =?utf-8?B?U0tCempSN0xwaG5mYmtoOGJoZ1JoRWpyYjlBbnNsUUpIbDJBQ1c1YzNkY293?= =?utf-8?B?a1ZUcXRWYlJ5em83M1d6UFFDNFdka3Yvcklma2cxc2l4SVU5VGIzN01vUVcv?= =?utf-8?B?WDhhaEhGcTczRUlNRk1TNUZLQWFYaUFIVks5VEhxd2xVYzQzNDEwcUd0dEtt?= =?utf-8?B?VHBvL0tXaitLWHloTjl1cDNIbUdjeS9XaXV6b3lRMVBGMCtsdm1CYTZPWDlY?= =?utf-8?B?WnVjVDRTRFlGTkdYaWl5ZFhLNXQ5ZWJPN29QeEpMVkk5TURCZ3lBZk5DWU5y?= =?utf-8?B?Q1hhK0pROWw1K3V4OHUyU0NVdWIrSzJxUTY5SllSK0RVcVFYaDF6TDF1dmVT?= =?utf-8?B?NnNTMUNvanFRaEZGc1dLY2RPclpyMGxpdThvb0s5UkVOR0RlWUpQM1Rmbkph?= =?utf-8?B?UThuTytPbFMzQnNqSGFKNHA2V1VwTmJiV0UreS93WG1SVDV4Rmt6UjRyVDlU?= =?utf-8?B?R0ZsanRuZE1DV2NzdTRxZmY3SmlQdkd0MS9WQWhhcHFVdzMzcE1id201aEdH?= =?utf-8?B?WlZvM3gzcVpOVEhhbXdBVTlJN3VMNG85S1V4cUNWc3NiSU9BakFZSFAwR2lt?= =?utf-8?B?bnl1M2dOdHpERmg5N253THRySTFDWFVCeHQ1OWRWTnRkRVlWdkpHRTVOSXNT?= =?utf-8?B?TGtkSS9iT1VGOW1BRmhuZGpNaUpVSi9DQzQ1QmROK0ZLQ1F5NU9oNHFrYldE?= =?utf-8?B?TFkzQUFrMllibU9FckdlemNtN0QzVzBPNzErdERIZk9Ec3BYN1ArNEp1cW1s?= =?utf-8?B?SFRKQ2pJK1JSM0Y3L1Q3VGk2dHFSZjFhUXJNN21WWmpSV2lBQnlBT2JVY2VQ?= =?utf-8?B?QnJBcHJ1YVVzOU91SXFTSEF3SzAxK0dKdDN0QlhRYW1PMTlhaUR2SXp3MDVE?= =?utf-8?B?TDUvTDNtVU5oRldzSForeUt4aXU4enF0bWljakdGcE1rdkYzcWlWNUtTOTQ2?= =?utf-8?B?dWRrN0Nla0tieXFGNGdZZkhWMDI5em1jaW9KS2hBdTFFQTF4ZjFUVmQ2YUVY?= =?utf-8?B?eitGYk9HOFU3cE0vTWlRdnpHS0xhZytuVWErYTI3aGZCQXFPQWtydFUxZXNa?= =?utf-8?B?MXdUVmxnaHNFZHp6TzR0YzdtSmJhWlcxWXZzbXEvNmdNczcxaGlpK01NVWY3?= =?utf-8?B?dmpSdGVJVmpZUk5sWkZkTDFCTk9aekpScjFtWHFUT1hSMURPQlZEM3B3YmRl?= =?utf-8?B?OUVoL2JpYmM4WWVIMlVmdGJQeUM0eW94dngvTjAwVW4xQWxnTUUyWXozWGlZ?= =?utf-8?B?Sm9heUZGWkRUbW9nOStTOVlEbGVRcEhnZ2VEUzd4OS95RUdGU1ZsTTlMc2t0?= =?utf-8?B?VkMrYzltQ0lma0JvdmFWcFlVd21jcWo2RTZQQjdDTlAyQWlSZGMzNnhUSWFP?= =?utf-8?B?VVlPeHozYXl1RjdGTDdod01yNUg4WlppM2ROVy9XQWtTVjFkMWpKMXZYYjd4?= =?utf-8?B?S25JTDhXQW93RmZ3NUhvSmNTbHZyamFMWVk1MHp5VXNXT1RqSlVWTHV5K1JY?= =?utf-8?Q?yblE+SdN?= X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtCWTJQUjAzMDFNQjIxMTg7NjoxZlRwbGJMS1BiaEczaDQ1NFk3bk1kOU9F?= =?utf-8?B?Nk9xQXBLd1BJNHkvSkV0YStIOXBwVHovbmYrTUhMaFBCYUEwb0N3OUNlVFlt?= =?utf-8?B?TWFCdVlFb3BwOXBMM2NQeGNnYllGLzMrUDFVbXhLaE9pRW1QSU1ZdkFYN3FM?= =?utf-8?B?R0x3VDJVTjBjclhiWTRiaEVWTkFxa2t3czhTbGRTUStScTl6aEtxRXo1ei8w?= =?utf-8?B?MmV3WjJ1OWtIaWg2UFYwMTNBVFlOb1dZTWcrbzFiRnRHclZkZGtLWEFFVXBk?= =?utf-8?B?TnJreFN5YkllR2UxR2VReDdnS2U0bDAyZ1NCNk5Vbmp2M1JwSGcybVZ6MVo4?= =?utf-8?B?UHdFU01IMGRicUJsa2tIa1A4WGlGUjA4NDFXL3hpYktlYmsxQVJrZmtNdzlr?= =?utf-8?B?ZDBWWXd5WHN2SDRYM0lidDdaNm52V1dRbk1nSnJxc1p4TW50T1Q0RnlGTllF?= =?utf-8?B?eFN5TmdDVDJKWjk2M1BlZnJ1SWN6L25NQ3BFNitrZjFmZTM4anUzRi9vVEJ0?= =?utf-8?B?UW9TVTM1TXZtRTIvVTNSR01iSFNvaXZYM2x6akRoTEVWNytnZzhhdHlicDRV?= =?utf-8?B?SlkwL2pqbFY4WnBBMUQwVGhCMkdRdzM2cFA1OTkxMFI0OUREZUlVNTlSODZY?= =?utf-8?B?M0pEenZwN1k5Mm1BWHpJMWpaVUFXS2pMZTlGZ0NBRWhBRXZlMWZkbzQzbGwv?= =?utf-8?B?emdLdnJwbWp4cGhwMWNFMGl5RzBwcytyU3dLZDEvNVMrVGhFN0JTRk01RWUz?= =?utf-8?B?UHpPaVE4T3dHZnhCQzd2cmxBNlU5YzkwakV3QzFCYTNtalN0Q3I3KzhjOXp6?= =?utf-8?B?SS9EZzlEZWR5R2pWcFlrRGxiWlRMWFBFWGxHYnpQZ0h4WU9BYTE1NDNOMm1m?= =?utf-8?B?WGwrNTJXUWpTQTlkeXNvL2E0VFVDc3FPUWNFbUQyOFVsVHc2QzZmMnZ0eEN6?= =?utf-8?B?WFZFdWt4Q1lFMnZyc1U5d1NxcGJ2RE51SUczam1KNkpCRXNGTWEyWVo4cis1?= =?utf-8?B?b09lTVZRRFQvSTdNb2ZPa3lzekFMQ2pkL2FWN1dsdnNVRHZYaVZTUEdwZlV3?= =?utf-8?B?QUpNQy9mSHNkRWZhSW5JZ1NLWER3ZEg5NlZsd1ZQTzJocHlvbE9IS0xyUzV6?= =?utf-8?B?eHRKMGZocjRSVEZwMUhsSnRLMHVWaTl4QW5GdzR0VjN6d3U5Uk93OUFQS2h5?= =?utf-8?B?OXcrSHFoQ28zVktnV1QrZy9GVnlyMmFQeVhHTk9nY0dITjZrd3JjOWtOYlFR?= =?utf-8?B?MHRQNmxQeXFxOVZTTFIyek1Fb1FBeHJ5bVA5aW9oZXMza3hjQlNRZkIzZDR4?= =?utf-8?B?WXNKWjRmWmQzSXpBPT0=?= X-Microsoft-Exchange-Diagnostics: 1;BY2PR0301MB2118;5:gKJEXsbOwQ79NQxvRSHsmwqvBvyjz/Bz6hrB0aXxhzXK8vJsQ37vrBIUum0gymcKTsQfKS3mjqmA5ovGzN0dPb4fqCKlzcZqwy1Wz5uTM4W46NzTfgKJXrNE7a3t+cFm2MbHln3uSiOMwkf+q805faipFl0gz1ZpjscdfF/aWrmaibT6nEoA3g3R6nh42z+fs6psPPrfLqaY6Nlan0EthBEz7oMa6gyWgprsTcz69dGgxukq91vcUoIJ9AnFUixmJYcmQJO9N2o7E1twjsV1Gx1KjNzo5GxHsmKvD+JTHlh9+b3o3m0JM6oMiRY52GDunCv5IIqO8vSkrPyLbJCzHeW+odRCWnnPklHIdFY2NMZeVc0eG0OIELEVTGqr84TFaNpgj25FpeSiW5TGh1UeXeTBrxSNDOsER81YmQDasDNwIxumtqsdOLr8l62GnKMDLzynQlowqfD5RKIG9iUCJ3EVdWyKjYwSQ/n+5RVrA/POPFpFuPRgIvmFj8408VTOMg2l5WA8W9Bu3PmjOAHd1w==;24:ZMRv0dUQC5ORgnlDiwoVKkvJLNqG23DPIUMfM4j1SxDnlrZVbtEo/TJvriKahcN3LUSCVZ4R/va2fMerD6utp9ayJkMLsfSgPPKwyELK1Aw= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;BY2PR0301MB2118;7:cs8XVmTEUpoadGPG3CccAoLpy9pQFhwGZ8Ki1/02Hg9W9gT3D2P7XGL+3E7yoVpa3wjdZwKBwEL4xqGPPrZurcNzVGHXT8zp+uCqtEMa7ovZdRQRqIYCacaler1VtDZuIlan+qwhUCPWPZaTqy1fBzebO0r2rG3MeGVq9fCAv/veXSs2XNkmRhzTeZ8zPnnfVV1EY/eHPIQHdsIyXdx4ds621OYK/rh5k31krj0BQyP4mIz2U35E7M/Cia8GMVlBy+WkWrmMXt+2IXrDp+sQzNN55T28FclfF5BLE7GHM+M8mJEPkjQI6xgsHH3xjys1Oac1PrswAI/80CnmwqPM0LnohIKG+WhZzHXeSqMuDHjuqAvQQjxgb9MZ+crxXvSyW6N5RR5Btx6Mpq147EiYaHynHKbpDFAMrLcwTPKzadXI37INHjJdZtsco/goKegfLnbd1WlgxFUI8xWUwU3ccFM2LOZ29hipyziC7pzoxW/iE1drtoHFGcXUiUWbVYXhu+5SP31lJ7vzGru2KoDwYy61MZnTynXseaa8zd/fYn0MvosAYzSL/6ZU2GXw1WPef5c45xqwno6u5iMOZECGXl7rLPsX8gkfG4Y+RDQ2/TSqwBMzvg+DfEFQclO17j9+Sj8QKW2RakaRJRFpa4oHw7Ft6r9erab1AW6wm0pQBSuiJ0Xxv/7NdWyFRyE2IYAbe3n2kPUNwYgzayvchqVSobX1Zl/HttCZxd76OVcanmzVPYtJ3fuTULSVYRRPgVd4B76jsz+enkt10J3EKjdkOiHTPafri7MO6JVlwQ3Ru90= X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Jul 2017 16:54:16.4567 (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: BY2PR0301MB2118 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, 2017-07-26 at 11:36 +0530, Viresh Kumar wrote: > On 25-07-17, 14:54, Leonard Crestez wrote: > > This patch made it's way into linux-next and it seems to cause imx socs > > to almost always hang around their max frequency with the ondemand > > governor, even when almost completely idle. The lowest frequency is > > never reached. This seems wrong? > > This driver calculates transition_latency at probe time, the value is > > not terribly accurate but it reaches values like latency = 109 us, so > So this is the value that is stored in the global variable > "transition_latency" in the imx6q-cpufreq.c file? i.e. > transition_latency = 109000 (ns) to be exact ? Yes. > - Don't use this patch and try to change ondemand's sampling rate from >   sysfs. Try setting it to 10000 and see if the behavior is identical >   to after this patch. Yes, it seems to be. Also setting 100000 explicitly fixes this. I also tried to switch from HZ=100 to HZ=1000 but that did not make a difference. > - Find how much time does it really take to change the frequency of >   the CPU. I don't really thing 109 us is the right transition >   latency. Use attached patch for that and look for the print message. Your patch measures latencies of around 2.5ms, but it can vary between 1.6 ms to 3ms from boot-to-boot. This is a lot more than what the driver reports. Most transitions seem to be faster. I did a little digging and it seems that a majority of time is always spent inside clk_pllv3_wait_lock which spins on a HW bit while doing usleep_range(50, 500). I originally thought it was because of regulators but the delays involved in that are smaller. Measuring wall time on a process that can sleep seems dubious, isn't this vulnerable to random delays because of other tasks? > Without this patch the sampling rate of ondemand governor will be 109 > ms. And after this patch it would be capped at 10 ms. Why would that > screw up anyone's setup ? I don't have an answer to that right now. On a closer look it seems that most of the time is actually spent at low cpufreq though (90%+). Your change makes it so that even something like "sleep 1; cat scaling_cur_freq" raises the frequency to the maximum. This happens enough that even if you do it in a loop you will never see the minimum frequency. It seems there is enough internal bookkeeping on such a wakeup that it takes more than 10ms and enough for a reevaluation of cpufreq until cat returns the value?!   I found this by enabling the power:cpu_frequency tracepoint event and checking for deltas with a script. Enabling CPU_FREQ_STAT show this: time_in_state: 396000 1609 792000 71 996000 54 trans_table:    From  :    To          :    396000    792000    996000     396000:         0        10         7     792000:        16         0        12     996000:         1        18         0  This is very unexpected but not necessarily wrong. -- Regards, Leonard