From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754998AbbHYB6Z (ORCPT ); Mon, 24 Aug 2015 21:58:25 -0400 Received: from mga11.intel.com ([192.55.52.93]:36493 "EHLO mga11.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751984AbbHYB6Y (ORCPT ); Mon, 24 Aug 2015 21:58:24 -0400 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.15,743,1432623600"; d="scan'208";a="790209547" From: "Chen, Yu C" To: Borislav Petkov CC: "rjw@rjwysocki.net" , "pavel@ucw.cz" , "tglx@linutronix.de" , "mingo@redhat.com" , "hpa@zytor.com" , "Zhang, Rui" , "lenb@kernel.org" , "x86@kernel.org" , "linux-pm@vger.kernel.org" , "linux-kernel@vger.kernel.org" Subject: RE: [PATCH] [v2] x86, suspend: Save/restore extra MSR registers for suspend Thread-Topic: [PATCH] [v2] x86, suspend: Save/restore extra MSR registers for suspend Thread-Index: AQHQ3AePRcV4XrFrwUmfyuJJH4NzU54aVXwAgAGgVMA= Date: Tue, 25 Aug 2015 01:58:18 +0000 Message-ID: <36DF59CE26D8EE47B0655C516E9CE6401CB01E3F@SHSMSX101.ccr.corp.intel.com> References: <1440158014-29610-1-git-send-email-yu.c.chen@intel.com> <20150824084946.GA7819@nazgul.tnic> In-Reply-To: <20150824084946.GA7819@nazgul.tnic> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.239.127.40] Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Transfer-Encoding: 8bit X-MIME-Autoconverted: from base64 to 8bit by mail.home.local id t7P1wUel014825 Hi, Boris,thanks for your review > -----Original Message----- > From: Borislav Petkov [mailto:bp@alien8.de] > Sent: Monday, August 24, 2015 4:50 PM > To: Chen, Yu C > Cc: rjw@rjwysocki.net; pavel@ucw.cz; tglx@linutronix.de; > mingo@redhat.com; hpa@zytor.com; Zhang, Rui; lenb@kernel.org; > x86@kernel.org; linux-pm@vger.kernel.org; linux-kernel@vger.kernel.org > Subject: Re: [PATCH] [v2] x86, suspend: Save/restore extra MSR registers for > suspend > > On Fri, Aug 21, 2015 at 07:53:34PM +0800, Chen Yu wrote: > > +struct msr_type { > > + unsigned int msr_id; > > + bool msr_saved; > > + u64 msr_value; > > +}; > > These definitions look awfully close to struct msr_info in include/asm/msr.h > > Maybe reuse them instead of growing yet another type... > OK, I'll use msr_info instead of msr_id and msr_value: struct msr_type { bool msr_saved; struct msr_info rv; }; > > +static void msr_save_context(struct saved_context *ctxt) { > > + int i = 0; > > + > > + for (i = 0; i < ctxt->msr_for_save.num; i++) { > > + struct msr_type *msr = > > + &ctxt->msr_for_save.msr_array[i]; > > No need for the line breaks here, let them stick out for better readability. > OK, will do. > > + msr->msr_saved = !rdmsrl_safe(msr->msr_id, > > + &msr->msr_value); > > + } > > + struct msr_type *msr = > > + &ctxt->msr_for_save.msr_array[i]; > > + if (msr->msr_saved) > > + wrmsrl(msr->msr_id, msr->msr_value); > > Ditto. > OK, will do. Best Regards, Yu ÿôèº{.nÇ+‰·Ÿ®‰­†+%ŠËÿ±éݶ¥Šwÿº{.nÇ+‰·¥Š{±þG«�éÿŠ{ayºʇڙë,j­¢f£¢·hš�ï�êÿ‘êçz_è®(­éšŽŠÝ¢j"�ú¶m§ÿÿ¾«þG«�éÿ¢¸?™¨è­Ú&£ø§~�á¶iO•æ¬z·švØ^¶m§ÿÿà ÿ¶ìÿ¢¸?–I¥