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

Re: [Xen-devel] [PATCH 3 of 4] Extend cpupools to support numa



See previous comments about the interface to libxl_get_topoplogy and
leaking the returned pointer value.

On Fri, 2010-11-26 at 07:10 +0000, Juergen Gross wrote:
> +    if (libxl_get_freecpus(&ctx, &freemap)) {
> +        fprintf(stderr, "libxl_get_freecpus failed\n");
> +        return -ERROR_FAIL;
> +    }
> +
> +    topology = libxl_get_topologyinfo(&ctx);
> +    if (topology == NULL) {
> +        fprintf(stderr, "libxl_get_topologyinfo failed\n");
> +        return -ERROR_FAIL;
> +    }
> +
> +    n = 0;
> +    for (cpu = 0; cpu < topology->nodemap.entries; cpu++) {
> +        if (libxl_cpumap_test(&freemap, cpu) &&
> +            (topology->nodemap.array[cpu] == node) &&
> +            !libxl_cpupool_cpuadd(&ctx, poolid, cpu)) {
> +                n++;
> +        }
> +    }

This sequence of actions look like they would make a useful addition to
the libxl interface as a helper function.

Not sure what it would be called, perhaps:
        libxl_cpupool_cpuadd_node(&ctx, poolid, node)
?

> +    for (p = 0; p < n_pools; p++) {
> +        if (poolinfo[p].poolid == poolid) {
> +            for (cpu = 0; cpu < topology->nodemap.entries; cpu++) {
> +                if ((topology->nodemap.array[cpu] == node) &&
> +                    libxl_cpumap_test(&poolinfo[p].cpumap, cpu) &&
> +                    !libxl_cpupool_cpuremove(&ctx, poolid, cpu)) {
> +                        n++;
> +                }
> +            }
> +        }
> +    }

also a helper function?

libxl_cpupool_cpuremove_node(&ctx, poolid, node)

Isn't there an existing function to find a poolinfo from a poolid? (if
not then should there be?)

Ian.



_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.