Skip to content

Commit

Permalink
KVM: apic round robin cleanup
Browse files Browse the repository at this point in the history
If no apic is enabled in the bitmap of an interrupt delivery with delivery
mode of lowest priority, a warning should be reported rather than select
a fallback vcpu

Signed-off-by: Qing He <qing.he@intel.com>
Signed-off-by: Eddie (Yaozu) Dong <eddie.dong@intel.com>
Signed-off-by: Avi Kivity <avi@qumranet.com>
  • Loading branch information
Qing He authored and Avi Kivity committed Jan 30, 2008
1 parent 313a3dc commit e4d47f4
Showing 1 changed file with 3 additions and 10 deletions.
13 changes: 3 additions & 10 deletions drivers/kvm/lapic.c
Original file line number Diff line number Diff line change
Expand Up @@ -395,10 +395,9 @@ static int __apic_accept_irq(struct kvm_lapic *apic, int delivery_mode,
struct kvm_lapic *kvm_apic_round_robin(struct kvm *kvm, u8 vector,
unsigned long bitmap)
{
int vcpu_id;
int last;
int next;
struct kvm_lapic *apic;
struct kvm_lapic *apic = NULL;

last = kvm->round_robin_prev_vcpu;
next = last;
Expand All @@ -415,14 +414,8 @@ struct kvm_lapic *kvm_apic_round_robin(struct kvm *kvm, u8 vector,
} while (next != last);
kvm->round_robin_prev_vcpu = next;

if (!apic) {
vcpu_id = ffs(bitmap) - 1;
if (vcpu_id < 0) {
vcpu_id = 0;
printk(KERN_DEBUG "vcpu not ready for apic_round_robin\n");
}
apic = kvm->vcpus[vcpu_id]->apic;
}
if (!apic)
printk(KERN_DEBUG "vcpu not ready for apic_round_robin\n");

return apic;
}
Expand Down

0 comments on commit e4d47f4

Please sign in to comment.