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

Re: [Xen-devel] [PATCH] xen/arm: Implement dynamic allocation of irq descriptors



On 23/02/15 16:40, Vijay Kilari wrote:
> Hi Julien,
> 
> On Mon, Feb 23, 2015 at 9:55 PM, Julien Grall <julien.grall@xxxxxxxxxx> wrote:
>> On 23/02/15 16:09, Vijay Kilari wrote:
>>> On Mon, Feb 23, 2015 at 9:10 PM, Julien Grall <julien.grall@xxxxxxxxxx> 
>>> wrote:
>>>> Hello Vijay,
>>>>
>>>> On 23/02/15 13:04, Vijay Kilari wrote:
>>>>> On Thu, Feb 19, 2015 at 7:33 PM, Julien Grall <julien.grall@xxxxxxxxxx> 
>>>>> wrote:
>>>>>> On 19/02/15 07:17, vijay.kilari@xxxxxxxxx wrote:
>>>>>>> From: Vijaya Kumar K <Vijaya.Kumar@xxxxxxxxxxxxxxxxxx>
>>>>>>>
>>>>>>> For arm memory for 1024 irq descriptors are allocated
>>>>>>> statically irrespective of number of interrupt supported
>>>>>>> by the platform.
>>>>>>>
>>>>>>> With this patch, irq descriptors are allocated at run time
>>>>>>> and managed using red-black tree. Functions to insert, search
>>>>>>> and delete irq descriptor are implemented in xen/common/irq.c.
>>>>>>
>>>>>> I think we may want to allocate SPIs/SGIs/PPIs at boot time. This number
>>>>>> will never change. We can avoid to always to allocate 1024 IRQs by using
>>>>>> the number provided by the GIC.
>>>>>
>>>>> The irq descriptor is allocated when platform_get_irq() is called or
>>>>> route_irq_to_guest()
>>>>> only. So we are not allocating based on GIC.
>>>>
>>>> You didn't understand what I said... I was suggesting to allocate SPIs
>>>> at boot time. Using an array for them allow us to access to IRQ desc in
>>>> constant time. This may help interrupt latency.
>>>
>>> Yes, I have thought about it. May be we can choose this approach for SPIs
>>> but for LPI's, the GIC can support upto ~32K. So in this case it won't make
>>> sense for LPI's
>>
>> Again... I never said it was a bad idea for LPIs. I was only point out
>> that it may not be worth for SPIs.
>>
>> [..]
>>
>>>> I think we should consider to create a separate structure for LPI's.
>>>
>>> Yes, I have created separate structure for LPI's for ITS driver.
>>>  But as I said LPI's are to many, so cannot allocate at domain creation.
>>
>> Ditto. The new structure can be a radix tree. I never suggested to use
>> an array.
> 
> Thanks for your suggestions. Are u refering to Radix or rb tree?

Radix is better to store sparse array. I haven't really think which tree
structure is better for this use case.

Regards,

-- 
Julien Grall

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

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