[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH 2/3] x86/sysctl: Clean up XEN_SYSCTL_cpu_hotplug
>>> On 02.04.19 at 21:57, <andrew.cooper3@xxxxxxxxxx> wrote: > --- a/xen/arch/x86/sysctl.c > +++ b/xen/arch/x86/sysctl.c > @@ -137,27 +137,35 @@ long arch_do_sysctl( > case XEN_SYSCTL_cpu_hotplug: > { > unsigned int cpu = sysctl->u.cpu_hotplug.cpu; > + bool plug; > + long (*fn)(void *) = NULL; > + void *hcpu = NULL; May I ask that you consistently initialize (or not) all three new variables you introduce? > switch ( sysctl->u.cpu_hotplug.op ) > { > case XEN_SYSCTL_CPU_HOTPLUG_ONLINE: > - ret = xsm_resource_plug_core(XSM_HOOK); > - if ( ret ) > - break; > - ret = continue_hypercall_on_cpu( > - 0, cpu_up_helper, (void *)(unsigned long)cpu); > + plug = true; > + fn = cpu_up_helper; > + hcpu = (void *)(unsigned long)cpu; I wonder whether it wouldn't be better to have this cast just once, ... > break; > + > case XEN_SYSCTL_CPU_HOTPLUG_OFFLINE: > - ret = xsm_resource_unplug_core(XSM_HOOK); > - if ( ret ) > - break; > - ret = continue_hypercall_on_cpu( > - 0, cpu_down_helper, (void *)(unsigned long)cpu); > + plug = false; > + fn = cpu_down_helper; > + hcpu = (void *)(unsigned long)cpu; > break; > + > default: > - ret = -EINVAL; > + ret = -EOPNOTSUPP; > break; > } > + > + if ( !ret ) > + ret = plug ? xsm_resource_plug_core(XSM_HOOK) > + : xsm_resource_unplug_core(XSM_HOOK); > + > + if ( !ret ) > + ret = continue_hypercall_on_cpu(0, fn, hcpu); ... here. This would the even eliminate the need for "hcpu" as a local variable. Preferably with both remarks addressed Reviewed-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 |