1. 13 Mar, 2013 2 commits
    • Jan Kiszka's avatar
      KVM: x86: Rework INIT and SIPI handling · 66450a21
      Jan Kiszka authored
      
      
      A VCPU sending INIT or SIPI to some other VCPU races for setting the
      remote VCPU's mp_state. When we were unlucky, KVM_MP_STATE_INIT_RECEIVED
      was overwritten by kvm_emulate_halt and, thus, got lost.
      
      This introduces APIC events for those two signals, keeping them in
      kvm_apic until kvm_apic_accept_events is run over the target vcpu
      context. kvm_apic_has_events reports to kvm_arch_vcpu_runnable if there
      are pending events, thus if vcpu blocking should end.
      
      The patch comes with the side effect of effectively obsoleting
      KVM_MP_STATE_SIPI_RECEIVED. We still accept it from user space, but
      immediately translate it to KVM_MP_STATE_INIT_RECEIVED + KVM_APIC_SIPI.
      The vcpu itself will no longer enter the KVM_MP_STATE_SIPI_RECEIVED
      state. That also means we no longer exit to user space after receiving a
      SIPI event.
      
      Furthermore, we already reset the VCPU on INIT, only fixing up the code
      segment later on when SIPI arrives. Moreover, we fix INIT handling for
      the BSP: it never enter wait-for-SIPI but directly starts over on INIT.
      
      Tested-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
      Signed-off-by: Jan Kiszka's avatarJan Kiszka <jan.kiszka@siemens.com>
      Signed-off-by: default avatarGleb Natapov <gleb@redhat.com>
      66450a21
    • Marcelo Tosatti's avatar
      KVM: MMU: make kvm_mmu_available_pages robust against n_used_mmu_pages > n_max_mmu_pages · 5d218814
      Marcelo Tosatti authored
      As noticed by Ulrich Obergfell <uobergfe@redhat.com>, the mmu
      counters are for beancounting purposes only - so n_used_mmu_pages and
      n_max_mmu_pages could be relaxed (example: before f0f5933a
      
      ),
      resulting in n_used_mmu_pages > n_max_mmu_pages.
      
      Make code robust against n_used_mmu_pages > n_max_mmu_pages.
      
      Reviewed-by: default avatarXiao Guangrong <xiaoguangrong@linux.vnet.ibm.com>
      Signed-off-by: default avatarMarcelo Tosatti <mtosatti@redhat.com>
      Signed-off-by: default avatarGleb Natapov <gleb@redhat.com>
      5d218814
  2. 12 Mar, 2013 2 commits
  3. 11 Mar, 2013 3 commits
  4. 07 Mar, 2013 13 commits
  5. 05 Mar, 2013 8 commits
  6. 04 Mar, 2013 7 commits
  7. 03 Mar, 2013 5 commits