[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <3E5A0FA7E9CA944F9D5414FEC6C712200349AE@ORSMSX105.amr.corp.intel.com>
Date: Wed, 25 Jan 2012 17:58:11 +0000
From: "Yu, Fenghua" <fenghua.yu@...el.com>
To: "H. Peter Anvin" <hpa@...or.com>, Brian Gerst <brgerst@...il.com>
CC: Ingo Molnar <mingo@...e.hu>, Thomas Gleixner <tglx@...utronix.de>,
Linus Torvalds <torvalds@...ux-foundation.org>,
Andrew Morton <akpm@...ux-foundation.org>,
"Mallick, Asit K" <asit.k.mallick@...el.com>,
"Luck, Tony" <tony.luck@...el.com>,
"Van De Ven, Arjan" <arjan.van.de.ven@...el.com>,
"Siddha, Suresh B" <suresh.b.siddha@...el.com>,
"Brown, Len" <len.brown@...el.com>,
Randy Dunlap <rdunlap@...otime.net>,
"Srivatsa S. Bhat" <srivatsa.bhat@...ux.vnet.ibm.com>,
Konrad Rzeszutek Wilk <konrad.wilk@...cle.com>,
Peter Zijlstra <peterz@...radead.org>,
Chen Gong <gong.chen@...ux.intel.com>,
linux-kernel <linux-kernel@...r.kernel.org>,
linux-pm <linux-pm@...r.kernel.org>, x86 <x86@...nel.org>
Subject: RE: [PATCH v5 10/12] x86/mtrr/main.c: Ask the first online CPU to
save mtrr
> From: H. Peter Anvin [mailto:hpa@...or.com]
> Sent: Sunday, January 15, 2012 4:08 PM
> On 01/12/2012 04:33 AM, Brian Gerst wrote:
> > On Wed, Jan 11, 2012 at 12:04 PM, Fenghua Yu <fenghua.yu@...el.com>
> wrote:
> >> From: Fenghua Yu <fenghua.yu@...el.com>
> >>
> >> Ask the first online CPU to save mtrr instead of asking BSP. BSP
> could be
> >> offline when mtrr_save_state() is called.
> >
> > If you can use any non-boot cpu to save the MTRRs why not just use
> the
> > current cpu? They should all be in sync anyways.
> >
>
> A much bigger question: why do we ever bother saving the MTRR state per
> se? We examine the MTRR state -- we have to -- during boot, and it
> should never diverge from the state set by the OS from that point on --
> we'll need to set it back to that. So we should just keep track of
> what
> the correct MTRR state is at all times.
The fixed MTRR state is saved when each CPU is up:
/*
* Save current MTRR state in case it was changed since early boot
* (e.g. by the ACPI SMI) to initialize new CPUs with MTRRs in sync:
*/
mtrr_save_state();
It's saved because MTRR state could be changed since early boot according to the above comment. I haven't found other info source except the comment. If that's true, we may need to save the state, right?
Thanks.
-Fenghua
Powered by blists - more mailing lists