packages: kernel-xenU/kernel-xenU-no-percpu-interrupts.patch (NEW) - revert...

pawelz pawelz at pld-linux.org
Tue Sep 21 20:14:35 CEST 2010


Author: pawelz                       Date: Tue Sep 21 18:14:35 2010 GMT
Module: packages                      Tag: HEAD
---- Log message:
- reverts commit that caused kernel to panic just after the boot.

---- Files affected:
packages/kernel-xenU:
   kernel-xenU-no-percpu-interrupts.patch (NONE -> 1.1)  (NEW)

---- Diffs:

================================================================
Index: packages/kernel-xenU/kernel-xenU-no-percpu-interrupts.patch
diff -u /dev/null packages/kernel-xenU/kernel-xenU-no-percpu-interrupts.patch:1.1
--- /dev/null	Tue Sep 21 20:14:35 2010
+++ packages/kernel-xenU/kernel-xenU-no-percpu-interrupts.patch	Tue Sep 21 20:14:30 2010
@@ -0,0 +1,57 @@
+Revert "xen: use percpu interrupts for IPIs and VIRQs"
+
+This reverts commit c7b28349a66e0aa9a24872dfc55a5296fc01a360.
+
+It caused kernel-xenU to panic just after the boot.
+
+diff --git a/drivers/xen/events.c b/drivers/xen/events.c
+index a4dc7bf..50cfdb0 100644
+--- a/drivers/xen/events.c
++++ b/drivers/xen/events.c
+@@ -106,7 +106,6 @@ static inline unsigned long *cpu_evtchn_mask(int cpu)
+ #define VALID_EVTCHN(chn)	((chn) != 0)
+ 
+ static struct irq_chip xen_dynamic_chip;
+-static struct irq_chip xen_percpu_chip;
+ 
+ /* Constructor for packed IRQ information. */
+ static struct irq_info mk_unbound_info(void)
+@@ -389,8 +388,8 @@ static int bind_ipi_to_irq(unsigned int ipi, unsigned int cpu)
+ 		if (irq < 0)
+ 			goto out;
+ 
+-		set_irq_chip_and_handler_name(irq, &xen_percpu_chip,
+-					      handle_percpu_irq, "ipi");
++		set_irq_chip_and_handler_name(irq, &xen_dynamic_chip,
++					      handle_level_irq, "ipi");
+ 
+ 		bind_ipi.vcpu = cpu;
+ 		if (HYPERVISOR_event_channel_op(EVTCHNOP_bind_ipi,
+@@ -430,8 +429,8 @@ static int bind_virq_to_irq(unsigned int virq, unsigned int cpu)
+ 
+ 		irq = find_unbound_irq();
+ 
+-		set_irq_chip_and_handler_name(irq, &xen_percpu_chip,
+-					      handle_percpu_irq, "virq");
++		set_irq_chip_and_handler_name(irq, &xen_dynamic_chip,
++					      handle_level_irq, "virq");
+ 
+ 		evtchn_to_irq[evtchn] = irq;
+ 		irq_info[irq] = mk_virq_info(evtchn, virq);
+@@ -930,16 +929,6 @@ static struct irq_chip xen_dynamic_chip __read_mostly = {
+ 	.retrigger	= retrigger_dynirq,
+ };
+ 
+-static struct irq_chip en_percpu_chip __read_mostly = {
+-	.name		= "xen-percpu",
+-
+-	.disable	= disable_dynirq,
+-	.mask		= disable_dynirq,
+-	.unmask		= enable_dynirq,
+-
+-	.ack		= ack_dynirq,
+-};
+-
+ void __init xen_init_IRQ(void)
+ {
+ 	int i;
================================================================


More information about the pld-cvs-commit mailing list