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 <[email protected]>
> ---
> 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.
--
error compiling committee.c: too many arguments to function
--
To unsubscribe from this list: send the line "unsubscribe kvm-ppc" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html