|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH 5/7] x86/domain: Optimise the order of actions in arch_domain_create()
>>> On 09.03.18 at 14:18, <andrew.cooper3@xxxxxxxxxx> 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 paging_initialised = false;
> + uint32_t emflags;
> int rc;
>
> - if ( config == NULL && !is_idle_domain(d) )
> - return -EINVAL;
> -
> - d->arch.s3_integrity = domcr_flags & XEN_DOMCTL_CDF_s3_integrity;
> -
> INIT_LIST_HEAD(&d->arch.pdev_list);
>
> d->arch.relmem = RELMEM_not_started;
> INIT_PAGE_LIST_HEAD(&d->arch.relmem_list);
>
> - if ( d->domain_id && !is_idle_domain(d) &&
> - cpu_has_amd_erratum(&boot_cpu_data, AMD_ERRATUM_121) )
> + spin_lock_init(&d->arch.e820_lock);
> + spin_lock_init(&d->arch.vtsc_lock);
> +
> + /* Minimal initialisation for the idle domain. */
> + if ( unlikely(is_idle_domain(d)) )
> + {
> + static const struct arch_csw idle_csw = {
> + .from = paravirt_ctxt_switch_from,
> + .to = paravirt_ctxt_switch_to,
> + .tail = continue_idle_domain,
> + };
> +
> + d->arch.ctxt_switch = &idle_csw;
> +
> + d->arch.cpuid = ZERO_BLOCK_PTR; /* Catch stray misuses. */
> + d->arch.msr = ZERO_BLOCK_PTR;
> +
> + return 0;
> + }
> + else if ( !config )
May I suggest to avoid the "else" here? Other than that and with
Wei's R-b
Acked-by: Jan Beulich <jbeulich@xxxxxxxx>
Jan
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |