On Wed, Oct 16, 2019 at 12:37:58PM +0200, Rafael J. Wysocki wrote: > Hi All, > > The motivation for this series is to address the problem discussed here: > > https://lore.kernel.org/linux-pm/5ad2624194baa2f53acc1f1e627eb7684c577a19.1562210705.git.viresh.kumar@xxxxxxxxxx/T/#md2d89e95906b8c91c15f582146173dce2e86e99f > > and also reported here: > > https://lore.kernel.org/linux-pm/20191015155735.GA29105@bogus/ > > Plus, generally speaking, using the policy CPU as a proxy for the policy > with respect to PM QoS does not feel particularly straightforward to me > and adds extra complexity. > > Anyway, the first patch adds frequency QoS that is based on "raw" PM QoS (kind > of in analogy with device PM QoS) and is just about min and max frequency > requests (no direct relationship to devices). > > The second patch switches over cpufreq and its users to the new frequency QoS. > [The Fixes: tag has been tentatively added to it.] > > The third one removes frequency request types from device PM QoS. > > Unfortunately, the patches are rather big, but also they are quite > straightforward. > > I didn't have the time to test this series, so giving it a go would be much > appreciated. Thanks for the spinning these patches so quickly. I did give it a spin, but unfortunately it doesn't fix the bug I reported. So I looked at my bug report in detail and looks like the cpufreq_driver variable is set to NULL at that point and it fails to dereference it while trying to execute: ret = cpufreq_driver->verify(new_policy); (Hint verify is at offset 0x1c/28) So I suspect some race as this platform with bL switcher tries to unregister and re-register the cpufreq driver during the boot. I need to spend more time on this as reverting the initial PM QoS patch to cpufreq.c makes the issue disappear. -- Regards, Sudeep