Messages in this thread | | | Date | Sun, 13 Nov 2011 10:17:21 -0500 | Subject | Re: [PATCH v4 6/7] x86/i387.c: Thread xstate is initialized only on BSP once | From | Brian Gerst <> |
| |
On Sat, Nov 12, 2011 at 12:26 AM, Fenghua Yu <fenghua.yu@intel.com> wrote: > From: Fenghua Yu <fenghua.yu@intel.com> > > init_thread_xstate() is only called on BSP once to avoid overriding xstate_size. > > Signed-off-by: Fenghua Yu <fenghua.yu@intel.com> > --- > arch/x86/kernel/i387.c | 9 ++++++++- > 1 files changed, 8 insertions(+), 1 deletions(-) > > diff --git a/arch/x86/kernel/i387.c b/arch/x86/kernel/i387.c > index 739d859..72652ff 100644 > --- a/arch/x86/kernel/i387.c > +++ b/arch/x86/kernel/i387.c > @@ -93,6 +93,7 @@ void __cpuinit fpu_init(void) > { > unsigned long cr0; > unsigned long cr4_mask = 0; > + static int once = 1; > > if (cpu_has_fxsr) > cr4_mask |= X86_CR4_OSFXSR; > @@ -107,8 +108,14 @@ void __cpuinit fpu_init(void) > cr0 |= X86_CR0_EM; > write_cr0(cr0); > > - if (!smp_processor_id()) > + /* > + * init_thread_xstate is only called on BSP once to avoid overriding > + * xstate_size. > + */ > + if (!smp_processor_id() && once) { > + once = 0; > init_thread_xstate(); > + }
Just check if xstate_size is 0 instead of adding a new flag.
-- Brian Gerst -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |