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

Re: [Xen-devel] [PATCH 15/22] xen/arm: Don't call p2m_alloc_table from arch_domain_create




On 07/22/2016 12:26 PM, Julien Grall wrote:
> 
> 
> On 22/07/16 11:16, Sergej Proskurin wrote:
>> Hi Julien,
> 
> Hello,
> 
>> On 07/22/2016 11:18 AM, Julien Grall wrote:
>>>
>>>
>>> On 22/07/16 09:32, Sergej Proskurin wrote:
>>>> Hi Julien,
>>>
>>> Hello Sergej,
>>>
>>>>> -int p2m_alloc_table(struct domain *d)
>>>>> +static int p2m_alloc_table(struct domain *d)
>>>>
>>>> While moving parts of the altp2m code out of ./xen/arch/arm/p2m.c, the
>>>> function p2m_alloc_table needs to be called from
>>>> ./xen/arch/arm/altp2m.c
>>>> to allocate the individual altp2m views. Hence it should not be static.
>>>
>>> No, this function should not be called outside p2m.c as it will not
>>> fully initialize the p2m. You need to need to provide a function to
>>> initialize a p2m (such as p2m_init).
>>>
>>
>> The last time we have discussed reusing existing code, among others, for
>> individual struct p2m_domain initialization routines. Also, we have
>> agreed to move altp2m-related parts out of p2m.c into altp2m.c, which
>> makes it hard not to access parts required for initialization/teardown
>> (that are equal for both p2m and altp2m).
> 
> I remember this discussion. However, the p2m initialize/teardown should
> exactly be the same for the hostp2m and altp2m (except for the type of
> the p2m). So, a function should be provided to initialize a full p2m to
> avoid code duplication.
> 

This is exactly what has been done. Nevertheless, altp2m views are
somewhat more dynamic than hostp2m and hence require frequent
initialization/teardown of individual views. That is, by moving altp2m
parts out of p2m.c we simply need to access this shared code multiple
times at runtime from different altp2m-related functions. This applies
to more functions that just to p2m_alloc_table.

Best regards,
~Sergej

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

 


Rackspace

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