[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [RFC PATCH v2 13/22] xen/arm: its: Add virtual ITS command support

On 05/05/15 11:39, Stefano Stabellini wrote:
> On Mon, 4 May 2015, Vijay Kilari wrote:
>> On Thu, Apr 30, 2015 at 7:59 PM, Julien Grall <julien.grall@xxxxxxxxxx> 
>> wrote:
>>> Hi,
>>> On 30/04/15 14:47, Stefano Stabellini wrote:
>>>>>>> If the devid is not within this range, the ITS won't recognize the 
>>>>>>> value and
>>>>>>> won't be able to send the interrupt.
>>>>>>> So this is clearly not the right value.
>>>>>> Sure, in that case the maximum value allowed by GITS_TYPER.Devbits.
>>>>>> Vijay, what is the value of GITS_TYPER.Devbits on your platform?
>>>>> It is 21 bits
>>>> I would imagine that 21 bits would be plenty to find an unused devid.
>>>> Alternatively we could use an inexistent function of a real device, such
>>>> as 00:00.1 (function 1 of the host bridge).
>>> As discussed IRL, this idea sounds good to me.
>>> Although I would be happy with any other way which ensure the devid is free.
>> Has prototyped with 00.00.1 as device id. But I see that Dom0 boot is
>> slow compared to polling mode.
> This is very interesting.
>> This could be because Dom0 has to keep
>> trapping on creader to check if creader is updated or not.
> This sounds like a plausible explanation. That's because the guest is
> polling, right?

He was inject an INT command for every command sent...

> I think we should pause the guest vcpu until we receive
> the interrupt.
> You can do that by calling vcpu_block.

Blocking the vcpu is not the right thing to do. The processing of the
ITS command queue is asynchronous and the guest may decide to execute
other task while waiting.


Julien Grall

Xen-devel mailing list



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.