On 10/16/2012 01:06 PM, Alexander Graf wrote: > > On 16.10.2012, at 13:01, Avi Kivity wrote: > >> On 10/16/2012 12:59 PM, Alexander Graf wrote: >>> >>> On 16.10.2012, at 12:56, Avi Kivity wrote: >>> >>>> On 10/15/2012 02:02 PM, Alexander Graf wrote: >>>>> In order to support vhost, we need to be able to support ioeventfd. >>>>> >>>>> This patch set adds support for ioeventfd to PPC and makes it possible to >>>>> do so without implementing irqfd along the way, as it requires an in-kernel >>>>> irqchip which we don't have yet. >>>> >>>> It's not strictly required. You have an interrupt line leading to the >>>> core, no? You could have your irqfd trigger that. >>> >>> The irqfd code in KVM directly triggers the in-kernel irqchip. That's what this patch set is cleaning up: enable you to build ioeventfd support without in-kernel irqchip irqfd support. >>> >>> Vhost can work without in-kernel irqchip too, by listening to an eventfd (iiuc) in user space. That path works just fine with these patches applied. >> >> That's all true but it wasn't my point. I was asking whether you can >> enable irqfd without in-kernel irqchip. If your irq input is edge >> triggered then it's trivial. If it's level triggered then you can use >> the new resampling irqfd. > > I'm not sure I fully grasp what you're trying to say :). > > We have a single interrupt line on the core. So whenever any external interrupt gets injected (same thing for MSI), we need to go to the MPIC / XICS and ask it which line is active. Couldn't you attach that payload to the irqfd? On x86 an irqfd is associated with a gsi, and a gsi with extra information, including all that is needed to queue an MSI. > > So yes, we could create a direct fd channel between vhost and the user space MPIC, but it wouldn't buy us anything. The interrupt injection path would be as long as it is with the current mechanism. > If there is a lot of prioritization and/or queuing logic, then yes. But what about MSI? Doesn't that have a direct path? -- error compiling committee.c: too many arguments to function -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html