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

Re: [Xen-devel] [PATCH] Fix legacy irq allocation issue



>>> "Jiang, Yunhong" <yunhong.jiang@xxxxxxxxx> 19.06.09 04:03 >>>
>When try to assign vector for irq, we should not assign vector for legacy irq, 
>which has fixed mapped irq<->vector relationship.

What code path does get us there?

>--- a/xen/arch/x86/irq.c    Sun Jun 14 23:12:24 2009 +0800
>+++ b/xen/arch/x86/irq.c    Wed Jun 17 08:51:43 2009 +0800
>@@ -83,6 +83,12 @@ int assign_irq_vector(int irq)
>     BUG_ON(irq >= nr_irqs && irq != AUTO_ASSIGN_IRQ);
>
>     spin_lock(&vector_lock);
>+
>+    if ((irq != AUTO_ASSIGN_IRQ) && !IO_APIC_IRQ(irq))
>+    {
>+        spin_unlock(&vector_lock);
>+        return LEGACY_VECTOR(irq);
>+    }

If this is really needed, then why not simply exchange the following uses
of IO_APIC_VECTOR() to irq_to_vector(), which already properly
considers legacy vectors?

>
>     if ((irq != AUTO_ASSIGN_IRQ) && (IO_APIC_VECTOR(irq) > 0)) {
>         spin_unlock(&vector_lock);

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.