[libvirt] [PATCH 1/3] qemu: handle new 'setup' migration state
Jiri Denemark
jdenemar at redhat.com
Fri Jul 26 18:17:45 UTC 2013
On Fri, Jul 26, 2013 at 13:47:43 -0400, mrhines at linux.vnet.ibm.com wrote:
> From: "Michael R. Hines" <mrhines at 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 at 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
More information about the libvir-list
mailing list