lkml.org 
[lkml]   [2014]   [May]   [2]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 3.13 091/151] KVM: PPC: Book3S HV: Fix KVM hang with CONFIG_KVM_XICS=n
    Date
    3.13.11.1 -stable review patch.  If anyone has any objections, please let me know.

    ------------------

    From: Anton Blanchard <anton@samba.org>

    commit 7505258c5fcb0a1cc3c76a47b4cf9506d21d10e6 upstream.

    I noticed KVM is broken when KVM in-kernel XICS emulation
    (CONFIG_KVM_XICS) is disabled.

    The problem was introduced in 48eaef05 (KVM: PPC: Book3S HV: use
    xics_wake_cpu only when defined). It used CONFIG_KVM_XICS to wrap
    xics_wake_cpu, where CONFIG_PPC_ICP_NATIVE should have been
    used.

    Signed-off-by: Anton Blanchard <anton@samba.org>
    Signed-off-by: Paul Mackerras <paulus@samba.org>
    Acked-by: Scott Wood <scottwood@freescale.com>
    Signed-off-by: Kamal Mostafa <kamal@canonical.com>
    ---
    arch/powerpc/kvm/book3s_hv.c | 4 +---
    1 file changed, 1 insertion(+), 3 deletions(-)

    diff --git a/arch/powerpc/kvm/book3s_hv.c b/arch/powerpc/kvm/book3s_hv.c
    index edeac10..992b089 100644
    --- a/arch/powerpc/kvm/book3s_hv.c
    +++ b/arch/powerpc/kvm/book3s_hv.c
    @@ -85,7 +85,7 @@ static void kvmppc_fast_vcpu_kick_hv(struct kvm_vcpu *vcpu)

    /* CPU points to the first thread of the core */
    if (cpu != me && cpu >= 0 && cpu < nr_cpu_ids) {
    -#ifdef CONFIG_KVM_XICS
    +#ifdef CONFIG_PPC_ICP_NATIVE
    int real_cpu = cpu + vcpu->arch.ptid;
    if (paca[real_cpu].kvm_hstate.xics_phys)
    xics_wake_cpu(real_cpu);
    @@ -1192,9 +1192,7 @@ static void kvmppc_start_thread(struct kvm_vcpu *vcpu)
    smp_wmb();
    #if defined(CONFIG_PPC_ICP_NATIVE) && defined(CONFIG_SMP)
    if (vcpu->arch.ptid) {
    -#ifdef CONFIG_KVM_XICS
    xics_wake_cpu(cpu);
    -#endif
    ++vc->n_woken;
    }
    #endif
    --
    1.9.1


    \
     
     \ /
      Last update: 2014-05-02 18:41    [W:5.219 / U:0.016 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site