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

[Xen-changelog] [xen-unstable] linux: Zap /proc/interrupts count when a dynamic IRQ is unbound.



# HG changeset patch
# User Keir Fraser <keir@xxxxxxxxxxxxx>
# Date 1170808788 0
# Node ID ac465fc7c78fd871206f16b14a6b73b765973655
# Parent  383ade1b0da40b4c692058eddddb1595feff84b1
linux: Zap /proc/interrupts count when a dynamic IRQ is unbound.
Signed-off-by: Keir Fraser <keir@xxxxxxxxxxxxx>
---
 linux-2.6-xen-sparse/drivers/xen/core/evtchn.c |    6 +++++-
 1 files changed, 5 insertions(+), 1 deletion(-)

diff -r 383ade1b0da4 -r ac465fc7c78f 
linux-2.6-xen-sparse/drivers/xen/core/evtchn.c
--- a/linux-2.6-xen-sparse/drivers/xen/core/evtchn.c    Tue Feb 06 23:36:53 
2007 +0000
+++ b/linux-2.6-xen-sparse/drivers/xen/core/evtchn.c    Wed Feb 07 00:39:48 
2007 +0000
@@ -424,7 +424,7 @@ static void unbind_from_irq(unsigned int
 static void unbind_from_irq(unsigned int irq)
 {
        struct evtchn_close close;
-       int evtchn = evtchn_from_irq(irq);
+       int cpu, evtchn = evtchn_from_irq(irq);
 
        spin_lock(&irq_mapping_update_lock);
 
@@ -452,6 +452,10 @@ static void unbind_from_irq(unsigned int
 
                evtchn_to_irq[evtchn] = -1;
                irq_info[irq] = IRQ_UNBOUND;
+
+               /* Zap stats across IRQ changes of use. */
+               for_each_possible_cpu(cpu)
+                       kstat_cpu(cpu).irqs[irq] = 0;
        }
 
        spin_unlock(&irq_mapping_update_lock);

_______________________________________________
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®.