WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

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

To: Gihan Munasinghe <GMunasinghe@xxxxxxxxxxxx>
Subject: Re: [Xen-devel] Physical node info from libxl
From: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
Date: Tue, 11 May 2010 16:16:37 +0100
Cc: "xen-devel@xxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxx>
Delivery-date: Tue, 11 May 2010 08:14:49 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <4BE3F59F.4040509@xxxxxxxxxxxx>
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
References: <4BE3F59F.4040509@xxxxxxxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: Alpine 2.00 (DEB 1167 2008-08-23)
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
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel

<Prev in Thread] Current Thread [Next in Thread>