Re: [Xen-devel] [PATCH 5/7] x86/domain: Optimise the order of actions in arch_domain_create()

2018-03-16 Thread Jan Beulich
>>> On 15.03.18 at 21:15, wrote: > On 09/03/18 16:54, Jan Beulich wrote: > On 09.03.18 at 14:18, wrote: >>> --- a/xen/arch/x86/domain.c >>> +++ b/xen/arch/x86/domain.c >>> @@ -430,20 +430,37 @@ int arch_domain_create(struct domain *d,

Re: [Xen-devel] [PATCH 5/7] x86/domain: Optimise the order of actions in arch_domain_create()

2018-03-15 Thread Andrew Cooper
On 09/03/18 16:54, Jan Beulich wrote: On 09.03.18 at 14:18, wrote: >> --- a/xen/arch/x86/domain.c >> +++ b/xen/arch/x86/domain.c >> @@ -430,20 +430,37 @@ int arch_domain_create(struct domain *d, unsigned int >> domcr_flags, >> struct

Re: [Xen-devel] [PATCH 5/7] x86/domain: Optimise the order of actions in arch_domain_create()

2018-03-13 Thread Roger Pau Monné
On Fri, Mar 09, 2018 at 01:18:40PM +, Andrew Cooper wrote: > The only relevent initialisation for the idle domain is the context switch and ^ relevant > poisoned pointers. Collect these bits together early in the function and exit > when complete (although as a consequence, the

Re: [Xen-devel] [PATCH 5/7] x86/domain: Optimise the order of actions in arch_domain_create()

2018-03-09 Thread Jan Beulich
>>> On 09.03.18 at 14:18, wrote: > --- a/xen/arch/x86/domain.c > +++ b/xen/arch/x86/domain.c > @@ -430,20 +430,37 @@ int arch_domain_create(struct domain *d, unsigned int > domcr_flags, > struct xen_arch_domainconfig *config) > { > bool

Re: [Xen-devel] [PATCH 5/7] x86/domain: Optimise the order of actions in arch_domain_create()

2018-03-09 Thread Wei Liu
On Fri, Mar 09, 2018 at 01:18:40PM +, Andrew Cooper wrote: > The only relevent initialisation for the idle domain is the context switch and > poisoned pointers. Collect these bits together early in the function and exit > when complete (although as a consequence, the e820 and vtsc lock >

[Xen-devel] [PATCH 5/7] x86/domain: Optimise the order of actions in arch_domain_create()

2018-03-09 Thread Andrew Cooper
The only relevent initialisation for the idle domain is the context switch and poisoned pointers. Collect these bits together early in the function and exit when complete (although as a consequence, the e820 and vtsc lock initialisation are moved forwards). This allows us to remove subsequent