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

Re: [Xen-devel] [PATCH v3 3/3] xen/arm: don't try to re-register vcpu_info on cpu_hotplug.



Hi Stefano,

On 19/10/15 17:55, Stefano Stabellini wrote:
> diff --git a/arch/arm/xen/enlighten.c b/arch/arm/xen/enlighten.c
> index 6c09cc4..074b1a2 100644
> --- a/arch/arm/xen/enlighten.c
> +++ b/arch/arm/xen/enlighten.c
> @@ -93,6 +93,17 @@ static void xen_percpu_init(void)
>       int err;
>       int cpu = get_cpu();
>  
> +     /* 
> +      * VCPUOP_register_vcpu_info cannot be called twice for the same
> +      * vcpu, so if vcpu_info is already registered, just get out. This
> +      * can happen with cpu-hotplug.
> +      */
> +     if (per_cpu(xen_vcpu, cpu) != NULL) {
> +             enable_percpu_irq(xen_events_irq, 0);
> +             put_cpu();
> +             return;

I might be too picky, but this function can be reworked to avoid
duplicating the code. Something like:

if (per_cpu(xen_vcpu, cpu) != NULL)
  goto skip_register_vcpu;

> +     }
> +
>       pr_info("Xen: initializing cpu%d\n", cpu);
>       vcpup = per_cpu_ptr(xen_vcpu_info, cpu);
>  
> @@ -131,6 +142,9 @@ static int xen_cpu_notification(struct notifier_block 
> *self,
>       case CPU_STARTING:
>               xen_percpu_init();
>               break;
> +     case CPU_DYING:
> +             disable_percpu_irq(xen_events_irq);
> +             break;
>       default:
>               break;
>       }
> 


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