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

Re: [Xen-devel] xc_domain_getinfolist() declaration

Daniel Veillard wrote:

I would expect xc_domain_getinfolist() to just be an extended version
of xc_domain_getinfo() but filling-up a range of xc_dominfo_t. However
the declaration in xenctrl.h is
 int xc_domain_getinfolist(int xc_handle,
                           uint32_t first_domain,
                            unsigned int max_domains,
                            xc_domaininfo_t *info);

i.e. a different info pointer type than

 int xc_domain_getinfo(int xc_handle,
                       uint32_t first_domid,
                        unsigned int max_doms,
                        xc_dominfo_t *info);

is that a typo ? xc_domaininfo_t is defined as dom0_getdomaininfo_t
which is a distinct type from xc_dominfo_t, with slightly different characteristics. Any reason for that disparity in the type returned
between those two functions ?
xc_domain_getinfolist is a batched interface to xc_domain_getinfo from the hypervisor perspective. That is, getinfolist will only make a single hypercall whereas getinfo will make up to max_doms hypercalls.

getinfo massages the returned data into a more python friendly structure (xc_dominfo_t) whereas getinfolist returns the raw results from the hypercall (which is just typedef'd to xc_domaininfo_t.

The argument for getinfolist was performance. Applications that require as low-overhead as possible polling info polling mechanism can use getinfolist.


Anthony Liguori


Xen-devel mailing list



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