Messages in this thread | | | Date | Tue, 16 Jul 2013 15:05:26 +0530 | Subject | Re: [PATCH 7/8] cpufreq: Preserve policy structure across suspend/resume | From | Viresh Kumar <> |
| |
On 16 July 2013 14:59, Srivatsa S. Bhat <srivatsa.bhat@linux.vnet.ibm.com> wrote: > On 07/16/2013 02:40 PM, Viresh Kumar wrote:
>> So, even if you don't keep the fallback storage, things should work >> without any issue (probably worth trying as this will get rid of a per >> cpu variable :)) >> > > No, I already tried that and it didn't work ;-( The thing is, we need the > __cpufreq_add_dev() code to call the ->init() routines of drivers etc. But if > it finds the policy structure, it will skip all of that initialization and happily > proceed. Which is precisely the cause of all the erratic behaviour we are seeing > (ie., lack of proper initialization post-resume).
I missed that point. :)
> So this approach keeps the memory preserved in a fallback storage and lets the > init code run to full completion without any issues. > > Perhaps we could do some _more_ code reorganization in the future to take this > issue into account etc., but IMHO that might be non-trivial. I'm trying to keep > this as simple and straight-forward as possible as a first step, to atleast get > it properly working. (Changing the order in which init is done is kinda scary > since its hard to comprehend what assumptions we might be breaking!). > > We can perhaps revisit your idea later and optimize out the extra per-cpu data.
No, we don't need to optimize it that way. Current design looks good for now.
| |