Re: [PATCH 0/8] Cpufreq, cpu hotplug, suspend/resume related fixes

From: Lan Tianyu
Date: Mon Jul 15 2013 - 04:34:57 EST


On 2013å07æ12æ 06:15, Srivatsa S. Bhat wrote:
>
> Hi,
>
> Commit a66b2e (cpufreq: Preserve sysfs files across suspend/resume) caused
> some subtle regressions in the cpufreq subsystem during suspend/resume.
> This patchset is aimed at rectifying those problems, by fixing the regression
> as well as achieving the original goal of that commit in a proper way.
>
> Patch 1 reverts the above commit, and is CC'ed to stable.
>
> Patches 2 - 5 reorganize the code and have no functional impact, and can go
> in as general cleanups as well. This reorganization builds a base that the
> rest of the patches will make use of.
>
> Patch 6 and 7 add a mechanism to perform light-weight init/tear-down of CPUs
> in the cpufreq subsystem and finally patch 8 uses it to preserve sysfs files
> across suspend/resume.
>
> All the patches apply on current mainline.
>
>
> Robert, Durgadoss, it would be great if you could try it out and see if it works
> well for your usecase. I tested it locally and cpufreq related files did retain
> their permissions across suspend/resume. Let me know if it works fine in your
> setup too.
>
> And I'd of course appreciate to hear from Dirk, Tianyu and Toralf to know
> whether their systems work fine after:
> a. applying only the first commit (this is what gets backported to stable)
> b. applying all the commits

Hi, I tested this patchset on my machine and the issue in bug 59781 has
been resolved.

Tested-by: Tianyu Lan <tianyu.lan@xxxxxxxxx>


>
> (Note: I had to use Michael's fix[1] to avoid CPU hotplug deadlock while
> testing this patchset. Though that patch also touches cpufreq subsystem, it
> doesn't affect this patchset in any way and there is absolutely no dependency
> between the two in terms of code. That fix just makes basic CPU hotplug work
> without locking up on current mainline).
>
> [1]. https://lkml.org/lkml/2013/7/10/611
>
>
> Thank you very much!
>
>
> Srivatsa S. Bhat (8):
> cpufreq: Revert commit a66b2e to fix cpufreq regression during suspend/resume
> cpufreq: Fix misplaced call to cpufreq_update_policy()
> cpufreq: Add helper to perform alloc/free of policy structure
> cpufreq: Extract non-interface related stuff from cpufreq_add_dev_interface
> cpufreq: Extract the handover of policy cpu to a helper function
> cpufreq: Introduce a flag ('frozen') to separate full vs temporary init/teardown
> cpufreq: Preserve policy structure across suspend/resume
> cpufreq: Perform light-weight init/teardown during suspend/resume
>
> drivers/cpufreq/cpufreq.c | 297 ++++++++++++++++++++++++++-------------
> drivers/cpufreq/cpufreq_stats.c | 10 -
> 2 files changed, 199 insertions(+), 108 deletions(-)
>
>
> Thanks,
> Srivatsa S. Bhat
> IBM Linux Technology Center
>


--
Best regards
Tianyu Lan
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/