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

Reply via email to