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

Re: [Xen-devel] [PATCH] getvcpuinfo additional information



Hi Dan,

I figured I'd get some comments on this one, so I decided to send it off
and see what came back...

A while back, I did ask about how to approach this and got the following
response (the author can id themselves if they wish):

"We do not guarantee API or ABI stability on the control-tool interfaces,
 so after 3.0.3 has forked we can certainly take patches that extend the
 VCPU information available to the tools in the cleanest way we can find."

But, times and circumstances change. I find the extra information useful.
I'm willing to do a moderate amount of work to contribute the change back
in whatever form is deemed most appropriate.  So, let's see where this
settles out and I'll recast the patch and resubmit (if necessary).

Thanks,
-b


Daniel P. Berrange wrote:
On Tue, Nov 07, 2006 at 04:56:53PM -0500, Ben Thomas wrote:

On a number of instances, it has proved quite useful to be able to
easily examine more of the VCPU state. Specifically, the information
contained in the runstate structure.  This patch extends the
returned information to contain the entire runstate structure.
A simple usage example is a dom0 user-mode program that can dump all
of the times for each VCPU (eg, running, blocked, runnable).


[snip]


Index: xen-unstable.hg/xen/include/public/domctl.h
===================================================================
--- xen-unstable.hg.orig/xen/include/public/domctl.h    2006-11-06 
17:12:03.000000000 -0500
+++ xen-unstable.hg/xen/include/public/domctl.h 2006-11-06 17:12:08.000000000 
-0500
@@ -15,6 +15,7 @@
#endif

#include "xen.h"
+#include "vcpu.h"

#define XEN_DOMCTL_INTERFACE_VERSION 0x00000004

@@ -239,8 +240,8 @@
    uint8_t  online;                  /* currently online (not hotplugged)? */
    uint8_t  blocked;                 /* blocked waiting for an event? */
    uint8_t  running;                 /* currently scheduled on its CPU? */
-    uint64_t cpu_time;                /* total cpu time consumed (ns) */
    uint32_t cpu;                     /* current mapping   */
+    vcpu_runstate_info_t runstate;    /* VCPU runstate info (see vcpu.h) */
};
typedef struct xen_domctl_getvcpuinfo xen_domctl_getvcpuinfo_t;
DEFINE_XEN_GUEST_HANDLE(xen_domctl_getvcpuinfo_t);


While I like the improved information reporting this change gives us, this is
breaking the HV <-> Dom0 management API...yet again. At very least the XEN_DOMCTL_INTERFACE_VERSION version should be incremented, but personally
I'd like to see API & ABI stability maintained by leaving the existing
hypercall alone & adding a new hypercall which deals with extra data.

Regards,
Dan.


--
------------------------------------------------------------------------
Ben Thomas                                         Virtual Iron Software
bthomas@xxxxxxxxxxxxxxx                            Tower 1, Floor 2
978-849-1214                                       900 Chelmsford Street
                                                   Lowell, MA 01851

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