aboutsummaryrefslogtreecommitdiffstats
path: root/arch/ia64/kvm/kvm-ia64.c
diff options
context:
space:
mode:
authorGleb Natapov <gleb@redhat.com>2009-03-05 09:34:59 -0500
committerAvi Kivity <avi@redhat.com>2009-06-10 04:48:27 -0400
commite1035715ef8d3171e29f9c6aee6f40d57b3fead5 (patch)
tree1ead65420a4d1653692d0e4b66a4e4f7fcbef425 /arch/ia64/kvm/kvm-ia64.c
parent343f94fe4d16ec898da77720c03da9e09f8523d2 (diff)
KVM: change the way how lowest priority vcpu is calculated
The new way does not require additional loop over vcpus to calculate the one with lowest priority as one is chosen during delivery bitmap construction. Signed-off-by: Gleb Natapov <gleb@redhat.com> Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
Diffstat (limited to 'arch/ia64/kvm/kvm-ia64.c')
-rw-r--r--arch/ia64/kvm/kvm-ia64.c15
1 files changed, 2 insertions, 13 deletions
diff --git a/arch/ia64/kvm/kvm-ia64.c b/arch/ia64/kvm/kvm-ia64.c
index 8eea9cba7b7c..1887a93a2bd5 100644
--- a/arch/ia64/kvm/kvm-ia64.c
+++ b/arch/ia64/kvm/kvm-ia64.c
@@ -1836,20 +1836,9 @@ int kvm_apic_match_logical_addr(struct kvm_lapic *apic, u8 mda)
1836 return 0; 1836 return 0;
1837} 1837}
1838 1838
1839struct kvm_vcpu *kvm_get_lowest_prio_vcpu(struct kvm *kvm, u8 vector, 1839int kvm_apic_compare_prio(struct kvm_vcpu *vcpu1, struct kvm_vcpu *vcpu2)
1840 unsigned long *bitmap)
1841{ 1840{
1842 struct kvm_vcpu *lvcpu = kvm->vcpus[0]; 1841 return vcpu1->arch.xtp - vcpu2->arch.xtp;
1843 int i;
1844
1845 for (i = 1; i < kvm->arch.online_vcpus; i++) {
1846 if (!kvm->vcpus[i])
1847 continue;
1848 if (lvcpu->arch.xtp > kvm->vcpus[i]->arch.xtp)
1849 lvcpu = kvm->vcpus[i];
1850 }
1851
1852 return lvcpu;
1853} 1842}
1854 1843
1855int kvm_apic_match_dest(struct kvm_vcpu *vcpu, struct kvm_lapic *source, 1844int kvm_apic_match_dest(struct kvm_vcpu *vcpu, struct kvm_lapic *source,