Re: [PATCH 8/8] x86, cleanups: Simplify sync_core() in the case ofno CPUID

From: Borislav Petkov
Date: Fri Nov 30 2012 - 12:27:57 EST


On Fri, Nov 30, 2012 at 09:01:50AM -0800, Linus Torvalds wrote:
> Hmm. The virtualization issue brings up another point: do we *really*
> want to use cpuid for serialization at all?
>
> Exactly because under _real_ virtualization (as opposed to para-virt),
> it can cause unnecessary exits in a virtualized environment, no?

Well, in that case the function performs as advertized although it is a
very expensive serialization for virt. And virt guys hate exits.

> So I'm wondering if there is any better synchronizing instruction..
>
> I guess sync_core() isn't used *that* much, so maybe we don't care,
> but I thought I'd ask...

Well, we use it in alternatives, MCE, intel_early_init, Intel
ucode, ftrace, and SGI's GRU thing.

>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.

Hmm...

--
Regards/Gruss,
Boris.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/