ia64/xen-unstable

changeset 18593:26985a665ded

x86: Continue to allocate vectors across LAPIC priority levels, since
it's easy to do. It's not really necessary for modern non-buggy APICs
though.

Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
author Keir Fraser <keir.fraser@citrix.com>
date Wed Oct 08 11:59:01 2008 +0100 (2008-10-08)
parents 51a05fb4c601
children 5e4e234d58be
files xen/arch/x86/io_apic.c
line diff
     1.1 --- a/xen/arch/x86/io_apic.c	Wed Oct 08 11:51:39 2008 +0100
     1.2 +++ b/xen/arch/x86/io_apic.c	Wed Oct 08 11:59:01 2008 +0100
     1.3 @@ -697,8 +697,9 @@ int assign_irq_vector(int irq)
     1.4  
     1.5      vector = current_vector;
     1.6      while (vector_irq[vector] != FREE_TO_ASSIGN) {
     1.7 -        if (++vector > LAST_DYNAMIC_VECTOR)
     1.8 -            vector = FIRST_DYNAMIC_VECTOR;
     1.9 +        vector += 8;
    1.10 +        if (vector > LAST_DYNAMIC_VECTOR)
    1.11 +            vector = FIRST_DYNAMIC_VECTOR + ((vector + 1) & 7);
    1.12  
    1.13          if (vector == current_vector) {
    1.14              spin_unlock(&vector_lock);