• Paul Mackerras's avatar
    KVM: PPC: Book3S HV: Run virtual core whenever any vcpus in it can run · 8455d79e
    Paul Mackerras authored
    Currently the Book3S HV code implements a policy on multi-threaded
    processors (i.e. POWER7) that requires all of the active vcpus in a
    virtual core to be ready to run before we run the virtual core.
    However, that causes problems on reset, because reset stops all vcpus
    except vcpu 0, and can also reduce throughput since all four threads
    in a virtual core have to wait whenever any one of them hits a
    hypervisor page fault.
    
    This relaxes the policy, allowing the virtual core to run as soon as
    any vcpu in it is runnable.  With this, the KVMPPC_VCPU_STOPPED state
    and the KVMPPC_VCPU_BUSY_IN_HOST state have been combined into a single
    KVMPPC_VCPU_NOTREADY state, since we no longer need to distinguish
    between them.
    Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
    Signed-off-by: default avatarAlexander Graf <agraf@suse.de>
    8455d79e
book3s_hv.c 44.7 KB