[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] RE: [Xen-ia64-devel] vIOSAPIC and IRQs delivery
Looks like this is the most vigorous technical discussion we've had on this list in a long time! Unfortunately I have to admit I haven't been able to keep up with all of the details, but I do have a couple of comments: 1) Interrupts may happen at a rate of tens of thousands per second. Just like all high frequency CPU operations are coded with "fast paths" (hyperprivops and hyperreflection), I think interrupt reflection (some call it injection) needs to be implemented with a fast path. Unlike the CPU ops, there is currently no fast path for external interrupt reflection, though many of the CPU ops that a guest performs (e.g. ivr, eoi, tpr) DO have fast paths. When an external interrupt arrives (e.g. Xen is executing starting at IVT+3000), the vast majority of interrupts should be able to be reflected or recorded using a fast path. This is much harder to do with event channels than by setting a bit in a hyperregister. (Sure you could rewrite all the event channel code in assembly, but then what is the point of sharing the C code?) 2) Eddie commented that all the event channel code is already used in Xenlinux/ia64. Not true. There is a separate file (evtchn_ia64.c) that is used instead. 3) I don't think we should be trying to support machines and configurations that Linux is not even yet able to support adequately. We have plenty of work to do to get Xen/ia64 usable. And sharing IRQs between driver domains may be necessary eventually, but it doesn't seem a huge restriction in the short term to not allow different driver domains to share the same IRQ. Dan _______________________________________________ Xen-ia64-devel mailing list Xen-ia64-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-ia64-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |