]> xenbits.xensource.com Git - xen.git/commitdiff
hvm: Fix platform-irq handling in presence of irqbalance daemon.
authorkaf24@firebug.cl.cam.ac.uk <kaf24@firebug.cl.cam.ac.uk>
Mon, 19 Mar 2007 09:31:04 +0000 (09:31 +0000)
committerkaf24@firebug.cl.cam.ac.uk <kaf24@firebug.cl.cam.ac.uk>
Mon, 19 Mar 2007 09:31:04 +0000 (09:31 +0000)
The HVM guest did not respond when PV-on-HVM driver was tested on
the following conditions.

1. RHEL4u4
2. vcpu 4
3. irqbalance on
4. pv-on-hvm driver used.

Eventhandler did not work because IRQ was delivered to another vcpu by
irqbalance.

Signed-off-by: Tsunehisa Doi <Doi.Tsunehisa@jp.fujitsu.com>
Signed-off-by: Tomonari Horikoshi <t.horikoshi@jp.fujitsu.com>
unmodified_drivers/linux-2.6/platform-pci/evtchn.c

index 9063e37f178a668384b0ac7a45149c1aef5aed25..0c19cf5cda4530d88b574f36392517a0cd423df4 100644 (file)
@@ -167,7 +167,8 @@ EXPORT_SYMBOL(notify_remote_via_irq);
 irqreturn_t evtchn_interrupt(int irq, void *dev_id, struct pt_regs *regs)
 {
        unsigned int l1i, port;
-       int cpu = smp_processor_id();
+       /* XXX: All events are bound to vcpu0 but irq may be redirected. */
+       int cpu = 0; /*smp_processor_id();*/
        irqreturn_t(*handler) (int, void *, struct pt_regs *);
        shared_info_t *s = shared_info_area;
        vcpu_info_t *v = &s->vcpu_info[cpu];