WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

[Xen-devel] [PATCH] x86/IRQ: create_irq() should call assign_irq_vector(

To: "xen-devel@xxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxx>
Subject: [Xen-devel] [PATCH] x86/IRQ: create_irq() should call assign_irq_vector()
From: "Jan Beulich" <JBeulich@xxxxxxxx>
Date: Tue, 08 Nov 2011 03:42:47 -0700
Delivery-date: Tue, 08 Nov 2011 02:43:30 -0800
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
... rather than __assign_irq_vector(), to ensure desc->affinity gets
initialized properly.

This at once eliminates the need to forward-declare the latter function.

Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx>

--- a/xen/arch/x86/irq.c
+++ b/xen/arch/x86/irq.c
@@ -25,7 +25,6 @@
 #include <public/physdev.h>
 
 static void parse_irq_vector_map_param(char *s);
-static int __assign_irq_vector(int irq, struct irq_desc *, const cpumask_t *);
 
 /* opt_noirqbalance: If true, software IRQ balancing/affinity is disabled. */
 bool_t __read_mostly opt_noirqbalance = 0;
@@ -153,7 +152,6 @@ int __init bind_irq_vector(int irq, int 
  */
 int create_irq(void)
 {
-    unsigned long flags;
     int irq, ret;
     struct irq_desc *desc;
 
@@ -169,11 +167,7 @@ int create_irq(void)
 
     ret = init_one_irq_desc(desc);
     if (!ret)
-    {
-        spin_lock_irqsave(&vector_lock, flags);
-        ret = __assign_irq_vector(irq, desc, TARGET_CPUS);
-        spin_unlock_irqrestore(&vector_lock, flags);
-    }
+        ret = assign_irq_vector(irq);
     if (ret < 0)
     {
         desc->arch.used = IRQ_UNUSED;



Attachment: x86-create-irq-assign-vector.patch
Description: Text document

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
<Prev in Thread] Current Thread [Next in Thread>