[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] RE: [Xen-devel] [PATCH] Add DOM0_GETDOMAININFOLIST op for bulkretrieval of domain info
On Sat, 2005-06-25 at 02:41 +0100, Ian Pratt wrote: > > The attached patch adds a new dom0_op, > > DOM0_GETDOMAININFOLIST. This operation allows retrieval of > > the domain info structures for all domains in one hypercall. > > > > Using a small test program, on a system with 97 domains with > > non-contiguous domain IDs, I found that with this hypercall I > > could retrieve the full array of info structures 12840 times > > per second, an improvement from 2380 times per second with > > the DOM0_GETDOMAININFO op. > > Can't you just reuse the existing xc_getdomain_info function and change > the hypercall depending on the number of domains being requested? xc_domain_getinfo? Ideally yes. However, xc_domain_getinfo performs a translation from the xc_domaininfo_t structure (a typedef of dom0_getdomaininfo_t) returned by DOM0_GETDOMAININFO to the array of xc_dominfo_t structures passed by the caller. So in order to use the bulk call from xc_domain_getinfo, it would need to allocate its own array of xc_domaininfo_t structures, make the hypercall, and then perform the translation on the array of structures. If xc_domain_getinfo took a caller-provided array of xc_domaininfo_t structures, I would definitely have just modified it to use the new hypercall rather than making a new function. What is the purpose of that translation from one structure to the other? The only differences seem to be reordered/renamed fields, and splitting the flags field out into individual bitfields. If that is the only purpose, then why not just have xc_domaininfo_t include a union of the flags field and a structure containing a bitfield? - Josh Triplett _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |