On 07/16/2013 03:05 PM, Viresh Kumar wrote: > On 16 July 2013 14:59, Srivatsa S. Bhat > <srivatsa.b...@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.
Cool! Thanks :) Regards, Srivatsa S. Bhat -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/