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

[Xen-changelog] [xen-unstable] x86: Initialize the affinity field after assigning the vector.



# HG changeset patch
# User Keir Fraser <keir.fraser@xxxxxxxxxx>
# Date 1256137657 -3600
# Node ID 9ba4d512bd0c364d4d15adf79f496f7b2a033fb2
# Parent  6a41f093b81e7dcd5db60f57a38c74c4671545c2
x86: Initialize the affinity field after assigning the vector.

To avoid strange output from debug-key "i", desc->affinity should
be the subset of the cfg->domain basically, so copy cfg->domain to
desc->affinity after assigning vector for the irq..

Signed-off-by: Xiantao Zhang <xiantao.zhang@xxxxxxxxx>
---
 xen/arch/x86/irq.c |    5 ++++-
 1 files changed, 4 insertions(+), 1 deletion(-)

diff -r 6a41f093b81e -r 9ba4d512bd0c xen/arch/x86/irq.c
--- a/xen/arch/x86/irq.c        Wed Oct 21 16:06:30 2009 +0100
+++ b/xen/arch/x86/irq.c        Wed Oct 21 16:07:37 2009 +0100
@@ -419,13 +419,16 @@ int assign_irq_vector(int irq)
     int ret;
     unsigned long flags;
     struct irq_cfg *cfg = &irq_cfg[irq];
+    struct irq_desc *desc = irq_to_desc(irq);
     
     BUG_ON(irq >= nr_irqs || irq <0);
 
     spin_lock_irqsave(&vector_lock, flags);
     ret = __assign_irq_vector(irq, cfg, TARGET_CPUS);
-    if (!ret)
+    if (!ret) {
         ret = cfg->vector;
+        cpus_copy(desc->affinity, cfg->domain);
+    }
     spin_unlock_irqrestore(&vector_lock, flags);
     return ret;
 }

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


 


Rackspace

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