I tested the patch several times on top of a66b2e5 - the origin issue is fixed but - erratically another issue now appears : all 4 cores are runs after wakeup at 2.6 GHz. The temporary hot fix is to switch between governor performance and ondemand for all 4 cores. On 06/30/2013 08:52 PM, Srivatsa S. Bhat wrote: > On 06/30/2013 10:35 PM, Toralf Förster wrote: >> On 06/30/2013 06:33 PM, Srivatsa S. Bhat wrote: >>> Toralf, can you please >>> try out the below patch and see if it improves anything? (Don't revert anything, >>> just apply the below diff on a problematic kernel and see if it solves your >>> issue). >> >> applied on top of a66b2e5 - issue went away (either fixed or hidden now) >> > > Cool! So here is the proper patch, with changelog added. > > Regards, > Srivatsa S. Bhat > > > ----------------------------------------------------------------------------- > > From: Srivatsa S. Bhat <srivatsa.bhat@xxxxxxxxxxxxxxxxxx> > Subject: [PATCH] cpufreq: Fix cpufreq regression after suspend/resume > > Toralf Förster reported that the cpufreq ondemand governor behaves erratically > (doesn't scale well) after a suspend/resume cycle. The problem was that the > cpufreq subsystem's idea of the cpu frequencies differed from the actual > frequencies set in the hardware after a suspend/resume cycle. Toralf bisected > the problem to commit a66b2e5 (cpufreq: Preserve sysfs files across > suspend/resume). > > Among other (harmless) things, that commit skipped the call to > cpufreq_update_policy() in the resume path. But cpufreq_update_policy() plays > an important role during resume, because it is responsible for checking if > the BIOS changed the cpu frequencies behind our back and resynchronize the > cpufreq subsystem's knowledge of the cpu frequencies, and update them > accordingly. > > So, restore the call to cpufreq_update_policy() in the resume path to fix > the cpufreq regression. > > Reported-by: Toralf Förster <toralf.foerster@xxxxxx> > Tested-by: Toralf Förster <toralf.foerster@xxxxxx> > Signed-off-by: Srivatsa S. Bhat <srivatsa.bhat@xxxxxxxxxxxxxxxxxx> > --- > > drivers/cpufreq/cpufreq_stats.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/drivers/cpufreq/cpufreq_stats.c b/drivers/cpufreq/cpufreq_stats.c > index fb65dec..591b6fb 100644 > --- a/drivers/cpufreq/cpufreq_stats.c > +++ b/drivers/cpufreq/cpufreq_stats.c > @@ -349,6 +349,7 @@ static int __cpuinit cpufreq_stat_cpu_callback(struct notifier_block *nfb, > > switch (action) { > case CPU_ONLINE: > + case CPU_ONLINE_FROZEN: > cpufreq_update_policy(cpu); > break; > case CPU_DOWN_PREPARE: > > > -- MfG/Sincerely Toralf Förster pgp finger print: 7B1A 07F4 EC82 0F90 D4C2 8936 872A E508 7DB6 9DA3 -- To unsubscribe from this list: send the line "unsubscribe cpufreq" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html