[PATCH RFC 0/3] decouple vcpu index from apic id

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Currently vcpu_id is used as an index into vcpus array and as apic id
on x86.  This is incorrect since apic ids not have to be continuous (they
can also encode cpu hierarchy information) and may have values bigger
then vcpu array in case of x2apic. This series decouples vcpu_id and
apic_id. apic_id is arbitrary 32bit value that is passed to vcpu_create
ioctls. vcpu_id is kvm internal thing (that may be totally removed from
x86 code).

The code adds one assumption though: boot cpu is created first.

Gleb Natapov (3):
  Introduce kvm_vcpu_is_bsp() function.
  Use pointer to vcpu instead of vcpu_id in timer code.
  Break dependency between vcpu index in vcpus array and vcpu's apic
    id.

 arch/ia64/kvm/kvm-ia64.c        |   27 +++++++++++++++++----
 arch/ia64/kvm/vcpu.c            |    2 +-
 arch/powerpc/kvm/booke.c        |   20 +++++++++++++++-
 arch/powerpc/kvm/powerpc.c      |    7 ++++-
 arch/s390/kvm/kvm-s390.c        |   24 ++++++++++++++++--
 arch/x86/include/asm/kvm_host.h |    1 +
 arch/x86/kvm/i8254.c            |    6 ++--
 arch/x86/kvm/kvm_timer.h        |    2 +-
 arch/x86/kvm/lapic.c            |   13 +++++----
 arch/x86/kvm/svm.c              |    4 +-
 arch/x86/kvm/timer.c            |    2 +-
 arch/x86/kvm/vmx.c              |    6 ++--
 arch/x86/kvm/x86.c              |   49 ++++++++++++++++++++++++++++++++++++--
 include/linux/kvm_host.h        |   12 ++++++++-
 virt/kvm/kvm_main.c             |   25 +------------------
 15 files changed, 146 insertions(+), 54 deletions(-)

--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux