[PATCH 1/4] x86 paravirt_ops: create no_paravirt.h for native ops

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Andi Kleen wrote:
>> +/* Stop speculative execution */
>> +static inline void sync_core(void)
>> +{
>> +	unsigned int eax = 1, ebx, ecx, edx;
>> +	__cpuid(&eax, &ebx, &ecx, &edx);
>> +}
>>     
>
> Actually I don't think this one should be para virtualized at all.
> I don't see any reason at all why a hypervisor should trap it and it
> is very time critical. I would recommend you move it back into the 
> normal files without hooks.
>   

When VT/AMDV is enabled, cpuid could cause a vm exit, so it would be 
nice to use one of the other serializing instructions in this case.  For 
the default implementation, it should probably be an explicit 
asm("cpuid") to make it clear that we don't want any paravirtualized cpuid.

    J



[Index of Archives]     [KVM Development]     [Libvirt Development]     [Libvirt Users]     [CentOS Virtualization]     [Netdev]     [Ethernet Bridging]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Bugtraq]     [Yosemite Forum]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Admin]     [Samba]

  Powered by Linux