[PATCH 3/4] KVM: x86 shared msr infrastructure

2009-09-16 Thread Avi Kivity
The various syscall-related MSRs are fairly expensive to switch. Currently we switch them on every vcpu preemption, which is far too often: - if we're switching to a kernel thread (idle task, threaded interrupt, kernel-mode virtio server (vhost-net), for example) and back, then there's no

Re: [PATCH 3/4] KVM: x86 shared msr infrastructure

2009-09-16 Thread Marcelo Tosatti
On Wed, Sep 16, 2009 at 03:45:33PM +0300, Avi Kivity wrote: The various syscall-related MSRs are fairly expensive to switch. Currently we switch them on every vcpu preemption, which is far too often: - if we're switching to a kernel thread (idle task, threaded interrupt, kernel-mode

Re: [PATCH 3/4] KVM: x86 shared msr infrastructure

2009-09-16 Thread Avi Kivity
On 09/17/2009 12:21 AM, Marcelo Tosatti wrote: +static struct kvm_shared_msrs_global __read_mostly shared_msrs_global; Does this assume the MSRs in question are consistent across CPUs? Yes. And they are. I guess that is not true with arch_prctl(ARCH_SET_GS/ARCH_GET_GS) ?