[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] radeon in dom0/ivtv in domU: irq 16 nobody cared
On 04/13/2010 06:18 AM, Konrad Rzeszutek Wilk wrote: > In 2.6.18 there was logic to return IRQ_HANDLED if the IRQ line was > shared with another guest. Basically this: > > > 914 int irq_ignore_unhandled(unsigned int irq) > 915 { > 916 struct physdev_irq_status_query irq_status = { .irq = irq > }; > 917 > 918 if (!is_running_on_xen()) > 919 return 0; > 920 > 921 if (HYPERVISOR_physdev_op(PHYSDEVOP_irq_status_query, > &irq_status)) > 922 return 0; > 923 return !!(irq_status.flags & XENIRQSTAT_shared); > 924 } > > Which would be called on any spurrios interrupt and it would > shortcircuit it. I tried something similar by setting up the fake IRQ > handler if this hypercall returned a positive value. But the call logic > in any device driver is that it first does the PCI configuration writes > (enable the device, etc) and then calls request_irq which binds the > interrupt to the event channel and then this above hypercall returns > the shared flag. But the pciback/pcifront isn't used for request_irq > so I need to figure out some mechanism to schedule this hypercall later > on in Dom0 to figure out if there is a need to insert the IRQ handler. > Does the kernel get to know about the passed-through irqs? I was thinking that at pass-through time it would install the handler in dom0 on the irq (and all other domains sharing the irq), and then the handler could do that hypercall and return IRQ_HANDLED / IRQ_NONE accordingly. > Anyhow, my test rig that has a couple of IRQ lines shared across (A Dell > Dimension something) various devices and is doing something wacky with > or without this patch where the interrupt lines on the IOAPIC get masked > (and only if a specific IRQ line gets shared - 17) and no interrupts get > sent to either Dom0 or DomU. Manually unmasking the IOAPIC starts the > flow of interrupts thought it becomes a storm. Not sure if it is just > faulty hardware or operator, so please consider the above code/branch > completly > untested. > Hrm. You could instrument Xen to see who's masking the interrupt. J _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |