
On 07/26/2013 02:17 PM, Jiri Denemark wrote:
On Fri, Jul 26, 2013 at 13:47:43 -0400, mrhines@linux.vnet.ibm.com wrote:
From: "Michael R. Hines" <mrhines@us.ibm.com>
Previously, QEMU's 'setup' state was no a formal state in their state machine, but it is now. This state is used by RDMA to optionally perform memory pinning. This state is now exposed over the monitor and also measured in the migration info status.
This patch consumes both the new setup state as well as the timestamp of the total time spent in that state as reported by QEMU.
RDMA migrations perform an optional 'pin-all' operation du
Signed-off-by: Michael R. Hines <mrhines@us.ibm.com> --- include/libvirt/libvirt.h.in | 2 ++ src/qemu/qemu_migration.c | 6 ++++++ src/qemu/qemu_monitor.c | 2 +- src/qemu/qemu_monitor.h | 11 +++++++++++ src/qemu/qemu_monitor_json.c | 18 ++++++++++++++++++ 5 files changed, 38 insertions(+), 1 deletion(-)
diff --git a/include/libvirt/libvirt.h.in b/include/libvirt/libvirt.h.in index c0eb25b..31fb37e 100644 --- a/include/libvirt/libvirt.h.in +++ b/include/libvirt/libvirt.h.in @@ -4048,6 +4048,8 @@ struct _virDomainJobInfo { /* Time is measured in mill-seconds */ unsigned long long timeElapsed; /* Always set */ unsigned long long timeRemaining; /* Only for VIR_DOMAIN_JOB_BOUNDED */ + unsigned long long setupTime; /* length of the SETUP phase */ + double mbps; /* Migration throughput in Mbps */
/* Data is measured in bytes unless otherwise specified * and is measuring the job as a whole NACK
You can't change content of existing C structures that are part or public API. Running make syntax-check will warn you when you try to do that. Look at virDomainGetJobStats (commits v1.0.2-239-g4dd00f4 to v1.0.2-244-g4121a77) which can return extended migration statistics.
Jirka
Acknowledged - Will re-work it. - Michael