ia64/xen-unstable
changeset 14461:548e61fbdc1a
hvm: Fix platform-irq handling in presence of irqbalance daemon.
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>
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>
author | kaf24@firebug.cl.cam.ac.uk |
---|---|
date | Mon Mar 19 09:31:04 2007 +0000 (2007-03-19) |
parents | 2b58c9e32549 |
children | b795b90e4ff6 |
files | unmodified_drivers/linux-2.6/platform-pci/evtchn.c |
line diff
1.1 --- a/unmodified_drivers/linux-2.6/platform-pci/evtchn.c Sun Mar 18 18:26:34 2007 +0000 1.2 +++ b/unmodified_drivers/linux-2.6/platform-pci/evtchn.c Mon Mar 19 09:31:04 2007 +0000 1.3 @@ -167,7 +167,8 @@ EXPORT_SYMBOL(notify_remote_via_irq); 1.4 irqreturn_t evtchn_interrupt(int irq, void *dev_id, struct pt_regs *regs) 1.5 { 1.6 unsigned int l1i, port; 1.7 - int cpu = smp_processor_id(); 1.8 + /* XXX: All events are bound to vcpu0 but irq may be redirected. */ 1.9 + int cpu = 0; /*smp_processor_id();*/ 1.10 irqreturn_t(*handler) (int, void *, struct pt_regs *); 1.11 shared_info_t *s = shared_info_area; 1.12 vcpu_info_t *v = &s->vcpu_info[cpu];