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/

Reply via email to