• L
    x86/cpu: Restore MSR_IA32_ENERGY_PERF_BIAS after resume · b51ef52d
    Laura Abbott 提交于
    MSR_IA32_ENERGY_PERF_BIAS is lost after suspend/resume:
    
    	x86_energy_perf_policy -r before
    
    	cpu0: 0x0000000000000006
    	cpu1: 0x0000000000000006
    	cpu2: 0x0000000000000006
    	cpu3: 0x0000000000000006
    	cpu4: 0x0000000000000006
    	cpu5: 0x0000000000000006
    	cpu6: 0x0000000000000006
    	cpu7: 0x0000000000000006
    
    	after
    
    	cpu0: 0x0000000000000000
    	cpu1: 0x0000000000000006
    	cpu2: 0x0000000000000006
    	cpu3: 0x0000000000000006
    	cpu4: 0x0000000000000006
    	cpu5: 0x0000000000000006
    	cpu6: 0x0000000000000006
    	cpu7: 0x0000000000000006
    
    Resulting in inconsistent energy policy settings across CPUs.
    
    This register is set via init_intel() at bootup. During resume,
    the secondary CPUs are brought online again and init_intel() is
    callled which re-initializes the register. The boot CPU however
    never reinitializes the register.
    
    Add a syscore callback to reinitialize the register for the boot CPU.
    Signed-off-by: NLaura Abbott <labbott@fedoraproject.org>
    Cc: Andy Lutomirski <luto@amacapital.net>
    Cc: Borislav Petkov <bp@alien8.de>
    Cc: Linus Torvalds <torvalds@linux-foundation.org>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Thomas Gleixner <tglx@linutronix.de>
    Link: http://lkml.kernel.org/r/1437428878-4105-1-git-send-email-labbott@fedoraproject.orgSigned-off-by: NIngo Molnar <mingo@kernel.org>
    b51ef52d
common.c 35.6 KB