[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v12 2/5] xl: move away from the use of cpumap for hard affinity
On Tue, 2014-07-22 at 17:45 +0200, Dario Faggioli wrote: [...] > @@ -827,15 +826,31 @@ static void parse_config_data(const char *config_source, > libxl_defbool_set(&b_info->numa_placement, false); > } > else if (!xlu_cfg_get_string (config, "cpus", &buf, 0)) { > - if (libxl_cpu_bitmap_alloc(ctx, &b_info->cpumap, 0)) { > - fprintf(stderr, "Unable to allocate cpumap\n"); > + b_info->vcpu_hard_affinity = > + xmalloc(b_info->max_vcpus * sizeof(libxl_bitmap)); > + > + libxl_bitmap_init(&b_info->vcpu_hard_affinity[0]); > + if (libxl_cpu_bitmap_alloc(ctx, > + &b_info->vcpu_hard_affinity[0], 0)) { > + fprintf(stderr, "Unable to allocate cpumap for vcpu 0\n"); > exit(1); > } > > - libxl_bitmap_set_none(&b_info->cpumap); > - if (vcpupin_parse(buf, &b_info->cpumap)) > + if (vcpupin_parse(buf, &b_info->vcpu_hard_affinity[0])) > exit(1); > > + for (i = 1; i < b_info->max_vcpus; i++) { > + libxl_bitmap_init(&b_info->vcpu_hard_affinity[i]); > + if (libxl_cpu_bitmap_alloc(ctx, > + &b_info->vcpu_hard_affinity[i], 0)) { > + fprintf(stderr, "Unable to allocate cpumap for vcpu %d\n", > i); > + exit(1); > + } > + libxl_bitmap_copy(ctx, &b_info->vcpu_hard_affinity[i], > + &b_info->vcpu_hard_affinity[0]); > + } > + b_info->num_vcpu_hard_affinity = num_cpus; In all the other loops etc you use b_info->max_vcpus and AFAICT num_cpus is only initialised if the xlu_cfg_get_list succeeded, which it can't have done if we ended up in this else branch. Other than looks good to me. Ian. _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |