From mboxrd@z Thu Jan 1 00:00:00 1970 From: Marcelo Tosatti Subject: x86: call restore_sched_clock_state after %gs is initialized Date: Tue, 20 Mar 2012 23:11:52 -0300 Message-ID: <20120321021152.GA20883@amt.cnet> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: Avi Kivity To: kvm Return-path: Received: from mx1.redhat.com ([209.132.183.28]:13786 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1757172Ab2CUCPA (ORCPT ); Tue, 20 Mar 2012 22:15:00 -0400 Received: from int-mx12.intmail.prod.int.phx2.redhat.com (int-mx12.intmail.prod.int.phx2.redhat.com [10.5.11.25]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id q2L2F043031336 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK) for ; Tue, 20 Mar 2012 22:15:00 -0400 Content-Disposition: inline Sender: kvm-owner@vger.kernel.org List-ID: restore_sched_clock_state methods use percpu data, therefore they must run after %gs is initialized, but before mtrr_bp_restore (due to lockstat using sched_clock). Move it to the correct place. Signed-off-by: Marcelo Tosatti diff --git a/arch/x86/power/cpu.c b/arch/x86/power/cpu.c index 0e76a28..0f405d9 100644 --- a/arch/x86/power/cpu.c +++ b/arch/x86/power/cpu.c @@ -224,13 +224,13 @@ static void __restore_processor_state(struct saved_context *ctxt) fix_processor_context(); do_fpu_end(); + x86_platform.restore_sched_clock_state(); mtrr_bp_restore(); } /* Needed by apm.c */ void restore_processor_state(void) { - x86_platform.restore_sched_clock_state(); __restore_processor_state(&saved_context); } #ifdef CONFIG_X86_32