Re: [RFC PATCH 0/3] Add a new flag for ITS device to control indirect route

From: majun (Euler7)
Date: Sun Dec 04 2016 - 22:12:12 EST


Hi Marc:

å 2016/12/2 17:35, Marc Zyngier åé:
> On 02/12/16 09:29, majun (Euler7) wrote:
>>
>>
>> å 2016/12/1 17:07, Marc Zyngier åé:
>>> On 01/12/16 07:45, Majun wrote:
>>>> From: MaJun <majun258@xxxxxxxxxx>
>>>>
>>>> For current ITS driver, two level table (indirect route) is enabled when the memory used
>>>> for LPI route table over the limit(64KB * 2) size. But this function impact the
>>>> performance of LPI interrupt actually because need more time to look up the table.
>>>
>>> Are you implying that your ITS doesn't have a cache to lookup the most
>>> active devices, hence performing a full lookup on each interrupt?
>>
>> Our ITS chip has the cache with depth 64. But this seems not enough for some
>> scenario,espeically on virtulization platform.
>
> Then I don't see how switching to to flat tables is going to improve
> things. Can you share actual performance numbers?
>
Sorry, I run this code on EMU and have no actual performance numbers now.

Suppose there are 66 devices in system.
As far as our chip concerned, there are always 2 devices can't benefit from
cache fully when they report the interrupt.

If i'm wrong, please correct me.

Thanks
Majun

>>> Anyway, doing this as a DT quirk doesn't feel right. Please use the ITS
>>> quirk infrastructure.
>>
>> If there is no other better solutions, I will do this.
>
> Thanks,
>
> M.
>