[kernel] r18164 - in dists/squeeze/linux-2.6/debian: . patches/bugfix/all patches/series

Ian Campbell ijc-guest at alioth.debian.org
Sat Oct 15 06:16:18 UTC 2011


Author: ijc-guest
Date: Sat Oct 15 06:16:15 2011
New Revision: 18164

Log:
xen: Revert "xen: Use IRQF_FORCE_RESUME".

Fixes live migration regression in 2.6.32.42. (Closes: #644604)

Added:
   dists/squeeze/linux-2.6/debian/patches/bugfix/all/revert-xen-use-IRQF_FORCE_RESUME.patch
   dists/squeeze/linux-2.6/debian/patches/series/39
Modified:
   dists/squeeze/linux-2.6/debian/changelog

Modified: dists/squeeze/linux-2.6/debian/changelog
==============================================================================
--- dists/squeeze/linux-2.6/debian/changelog	Fri Oct  7 20:42:00 2011	(r18163)
+++ dists/squeeze/linux-2.6/debian/changelog	Sat Oct 15 06:16:15 2011	(r18164)
@@ -1,3 +1,10 @@
+linux-2.6 (2.6.32-39) UNRELEASED; urgency=low
+
+  * xen: Revert "xen: Use IRQF_FORCE_RESUME". Fixes live migration regression
+    in 2.6.32.42. (Closes: #644604)
+
+ -- Ian Campbell <ijc at hellion.org.uk>  Sat, 15 Oct 2011 06:54:12 +0100
+
 linux-2.6 (2.6.32-38) stable; urgency=high
 
   * Revert "ipv6: make fragment identifications less predictable"

Added: dists/squeeze/linux-2.6/debian/patches/bugfix/all/revert-xen-use-IRQF_FORCE_RESUME.patch
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ dists/squeeze/linux-2.6/debian/patches/bugfix/all/revert-xen-use-IRQF_FORCE_RESUME.patch	Sat Oct 15 06:16:15 2011	(r18164)
@@ -0,0 +1,53 @@
+commit 7df4b4890d3e8253d007b5e7ae4ed452d5f39cac
+Author: Ian Campbell <ijc at hellion.org.uk>
+Date:   Sat Oct 15 07:03:41 2011 +0100
+
+    Revert "xen: Use IRQF_FORCE_RESUME"
+    
+    This reverts commit 652c98bac315a2253628885f05cfd5f30b553ae5.
+
+diff --git a/drivers/xen/events.c b/drivers/xen/events.c
+index 009ca4e..e4820ce 100644
+--- a/drivers/xen/events.c
++++ b/drivers/xen/events.c
+@@ -536,7 +536,7 @@ int bind_ipi_to_irqhandler(enum ipi_vector ipi,
+ 	if (irq < 0)
+ 		return irq;
+ 
+-	irqflags |= IRQF_NO_SUSPEND | IRQF_FORCE_RESUME;
++	irqflags |= IRQF_NO_SUSPEND;
+ 	retval = request_irq(irq, handler, irqflags, devname, dev_id);
+ 	if (retval != 0) {
+ 		unbind_from_irq(irq);
+@@ -891,6 +891,7 @@ void xen_poll_irq(int irq)
+ void xen_irq_resume(void)
+ {
+ 	unsigned int cpu, irq, evtchn;
++	struct irq_desc *desc;
+ 
+ 	init_evtchn_cpu_bindings();
+ 
+@@ -909,6 +910,23 @@ void xen_irq_resume(void)
+ 		restore_cpu_virqs(cpu);
+ 		restore_cpu_ipis(cpu);
+ 	}
++
++	/*
++	 * Unmask any IRQF_NO_SUSPEND IRQs which are enabled. These
++	 * are not handled by the IRQ core.
++	 */
++	for_each_irq_desc(irq, desc) {
++		if (!desc->action || !(desc->action->flags & IRQF_NO_SUSPEND))
++			continue;
++		if (desc->status & IRQ_DISABLED)
++			continue;
++
++		evtchn = evtchn_from_irq(irq);
++		if (evtchn == -1)
++			continue;
++
++		unmask_evtchn(evtchn);
++	}
+ }
+ 
+ static struct irq_chip xen_dynamic_chip __read_mostly = {

Added: dists/squeeze/linux-2.6/debian/patches/series/39
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ dists/squeeze/linux-2.6/debian/patches/series/39	Sat Oct 15 06:16:15 2011	(r18164)
@@ -0,0 +1 @@
++ bugfix/all/revert-xen-use-IRQF_FORCE_RESUME.patch
\ No newline at end of file



More information about the Kernel-svn-changes mailing list