On Fri, Nov 30, 2012 at 10:03:03AM -0800, H. Peter Anvin wrote: > Well, the grand total of serializing instructions are: > > INVD, INVEPT, INVLPG, INVVPID, LGDT, LIDT, LLDT, LTR, MOV to CR, MOV > to DR, WBINVD, WRMSR, CPUID, IRET, RSM.
What about MFENCE with JMP 1f to kill prefetches? Probably too expensive. Oh and MFENCE is an SSE2 insn so maybe not supported by 486 or something later ... > >From all of the above, the alternatives case is kinda relevant for virt > >where we do text_poke_early in a loop for every alternative section > >so this could pile up to a bunch of vmexits depending on the emulated > >hardware. Might be worth a replacement if it is noticeable in guests. > > This is still boot time, and I really doubt it is measurable in the > long run. Yes, exists suck, but at least CPUID is generally a quick > exit, since all the relevant state is in registers. Agreed. -- Regards/Gruss, Boris. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/