[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 22/07/16 11:39, Sergej Proskurin wrote:


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.

I am not convinced that you need to reallocate the root page every time rather than clearing them. Anyway, I will need to see the code to understand what is done.

Regards,

--
Julien Grall

_______________________________________________
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®.