On 08.01.2012, at 14:24, Avi Kivity wrote: > On 01/04/2012 03:10 AM, Alexander Graf wrote: >> Our vcpu kick implementation differs a bit from x86 which resulted in us not >> disabling preemption during the kick. Get it a bit closer to what x86 does. >> >> Signed-off-by: Alexander Graf <agraf@xxxxxxx> >> --- >> arch/powerpc/kvm/powerpc.c | 7 ++++++- >> 1 files changed, 6 insertions(+), 1 deletions(-) >> >> diff --git a/arch/powerpc/kvm/powerpc.c b/arch/powerpc/kvm/powerpc.c >> index c952f13..ef8c990 100644 >> --- a/arch/powerpc/kvm/powerpc.c >> +++ b/arch/powerpc/kvm/powerpc.c >> @@ -557,12 +557,17 @@ int kvm_arch_vcpu_ioctl_run(struct kvm_vcpu *vcpu, struct kvm_run *run) >> >> void kvm_vcpu_kick(struct kvm_vcpu *vcpu) >> { >> + int me; >> + int cpu = vcpu->cpu; >> + >> + me = get_cpu(); > > Whitespace. > >> if (waitqueue_active(&vcpu->wq)) { >> wake_up_interruptible(vcpu->arch.wqp); >> vcpu->stat.halt_wakeup++; >> - } else if (vcpu->cpu != -1) { >> + } else if (cpu != me && cpu != -1) { >> smp_send_reschedule(vcpu->cpu); >> } >> + put_cpu(); >> } >> >> int kvm_vcpu_ioctl_interrupt(struct kvm_vcpu *vcpu, struct kvm_interrupt *irq) > > Eventually, let's move kvm_vcpu_kick() to generic code. Yup :). I think Christoffer is working on that. Alex -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html