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

Re: [Xen-devel] Physical node info from libxl

On Fri, 7 May 2010, Gihan Munasinghe wrote:
> Guys
> Looking at the libxl I can't see anywhere I can get a node info structure..
> basically the physical info of the Node e.g - total_ram, free ram, no 
> cpu etc
> With the current xen version(3.3), I am pulling these data directly from 
> xenctrl
>      long int pagesize;
>      xc_physinfo_t physinfo = {0};
>      pagesize = sysconf(_SC_PAGE_SIZE);
>      result = xc_physinfo(xc_handle, &physinfo);
>      nodeinfo->cpu_hz = ((unsigned long long)physinfo.cpu_khz) * 1000ULL;
>      nodeinfo->num_cpus = physinfo.nr_cpus;
>      nodeinfo->tot_mem = ((unsigned long long) physinfo.total_pages) * 
> pagesize ;
>      nodeinfo->free_mem = ((unsigned long long) physinfo.free_pages) * 
> pagesize ;
> But I think having this code in libxl make more sense. So can I suggest 
> a new structure like
> typedef struct libxl_physinfo{
>     long long cpu_hz;
>     long long total_memorykb;
>     long long free_memorykb;
>     int num_cpus;
>     /*Any more suggestions*/
> }libxl_physinfo;
> and a method
> libxl_physinfo *libxl_physical_info(struct libxl_ctx *ctx);
> This can be used in something like "xl info" as well  What you guys think?

In xen-unstable 'xl info' and libxl_get_physinfo are already
implemented, in particular we have:

struct libxl_physinfo {
    uint32_t threads_per_core;
    uint32_t cores_per_socket;

    uint32_t max_cpu_id;
    uint32_t nr_cpus;
    uint32_t cpu_khz;

    uint64_t total_pages;
    uint64_t free_pages;
    uint64_t scrub_pages;

    uint32_t nr_nodes;
    uint32_t hw_cap[8];
    uint32_t phys_cap;

are you satisfied with the results?
You might want to checkout xen-unstable in the future because the most
recent developments in all xen areas are there, so you might find that
some features are already implemented.

Xen-devel mailing list



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