Messages in this thread | | | Date | Wed, 02 Mar 2011 22:10:34 -0800 | From | "H. Peter Anvin" <> | Subject | Re: [RFC PATCH] x86: stop machine text poke should issue sync core |
| |
On 02/28/2011 07:24 AM, Mathieu Desnoyers wrote: > > Index: linux-2.6-lttng/arch/x86/kernel/alternative.c > =================================================================== > --- linux-2.6-lttng.orig/arch/x86/kernel/alternative.c > +++ linux-2.6-lttng/arch/x86/kernel/alternative.c > @@ -612,6 +612,12 @@ static int __kprobes stop_machine_text_p > > flush_icache_range((unsigned long)tpp->addr, > (unsigned long)tpp->addr + tpp->len); > + /* > + * Intel Archiecture Software Developer's Manual section 7.1.3 specifies > + * that a core serializing instruction such as "cpuid" should be > + * executed on _each_ core before the new instruction is made visible. > + */ > + sync_core(); > return 0; > } >
Isn't this executed from an IPI handler, which will return with IRET (a serializing instruction) anyway?
-hpa
| |