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 [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html
