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

Re: [Xen-devel] [PATCH 1 of 4] Support getting topology info in libxl



On Fri, 2010-11-26 at 07:10 +0000, Juergen Gross wrote:

> diff -r 79b71c77907b -r 37fdfe90e0c2 tools/libxl/libxl.h
> --- a/tools/libxl/libxl.h       Wed Nov 24 10:20:03 2010 +0000
> +++ b/tools/libxl/libxl.h       Thu Nov 25 09:29:43 2010 +0100
> @@ -148,6 +148,13 @@
>      uint8_t *map;
>  } libxl_cpumap;
>  void libxl_cpumap_destroy(libxl_cpumap *map);
> +
> +typedef struct {
> +    uint32_t entries;
> +    uint32_t *array;
> +} libxl_cpuarray;
> +#define LIBXL_CPUARRAY_INVENTRY  ~0

This looked at first glance like you had misspelled INVENTORY. Perhaps
LIBXL_CPUARRAY_INVALID_ENTRY?

> +void libxl_cpuarray_destroy(libxl_cpuarray *array);
>  
>  typedef enum {
>      XENFV = 1,
> @@ -464,6 +471,7 @@
>  int libxl_button_press(libxl_ctx *ctx, uint32_t domid, libxl_button button);
>  
>  int libxl_get_physinfo(libxl_ctx *ctx, libxl_physinfo *physinfo);
> +libxl_topologyinfo *libxl_get_topologyinfo(libxl_ctx *ctx);

The idiom in libxl is for such functions to take a pointer to the
structure to fill in and return a status code, e.g.
        int libxl_get_topologyinfo(libxl_ctx *ctx, libxl_topologyinfo *info)
e..g libxl_get_physinfo()

This is useful since the caller doesn't always need to manage the
dynamic allocation of the info structure e.g, it can use a stack
variable for temporary stuff or nest inside another structure etc.

Both the error path of libxl_get_topologyinfo and output_topologyinfo()
from patch 2/4 leak the info structure which is an error which goes away
with this change.

The IDL stuff and the python bits look fine to me.

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