Re: [GIT PULL] First batch of KVM changes for 4.1

Peter Zijlstra
2015-04-17T10:55:22Z

On Fri, Apr 17, 2015 at 12:38:07PM +0200, Paolo Bonzini wrote:
>
>
> On 17/04/2015 12:36, Peter Zijlstra wrote:
> > Now you make everybody pay for your crap, x86-64 paravirt or not. Keep
> > the cost by those who need it.
> >
> > Please take it out, ASAP.
>
> I'll just implement the static key.

Can you first show that:

preempt_out:
int cpu = smp_processor_id();
if (vcpu->cpu != cpu)
vcpu->cpu = cpu;

preempt_in:
int cpu = smp_processor_id();
if (unlikely(vcpu->cpu != cpu))
do_vcpu_migration_callback(cpu);

Is actually a measurable performance hit and we actually _need_ the
migration callback?

Also, it looks like you already do exactly this for other things, look
at:

kvm_sched_in()
kvm_arch_vcpu_load()
if (unlikely(vcpu->cpu != cpu) ... )

So no, I don't believe for one second you need this.