• Paul Mackerras's avatar
    KVM: PPC: Book3S HV: Provide mode where all vCPUs on a core must be the same VM · aa227864
    Paul Mackerras authored
    This adds a mode where the vcore scheduling logic in HV KVM limits itself
    to scheduling only virtual cores from the same VM on any given physical
    core.  This is enabled via a new module parameter on the kvm-hv module
    called "one_vm_per_core".  For this to work on POWER9, it is necessary to
    set indep_threads_mode=N.  (On POWER8, hardware limitations mean that KVM
    is never in independent threads mode, regardless of the indep_threads_mode
    setting.)
    
    Thus the settings needed for this to work are:
    
    1. The host is in SMT1 mode.
    2. On POWER8, the host is not in 2-way or 4-way static split-core mode.
    3. On POWER9, the indep_threads_mode parameter is N.
    4. The one_vm_per_core parameter is Y.
    
    With these settings, KVM can run up to 4 vcpus on a core at the same
    time on POWER9, or up to 8 vcpus on POWER8 (depending on the guest
    threading mode), and will ensure that all of the vcpus belong to the
    same VM.
    
    This is intended for use in security-conscious settings where users are
    concerned about possible side-channel attacks between threads which could
    perhaps enable one VM to attack another VM on the same core, or the host.
    Signed-off-by: default avatarPaul Mackerras <paulus@ozlabs.org>
    aa227864
book3s_hv.c 119 KB