On 07/26/2013 02:17 PM, Jiri Denemark wrote:
On Fri, Jul 26, 2013 at 13:47:43 -0400, mrhines(a)linux.vnet.ibm.com
wrote:
> From: "Michael R. Hines" <mrhines(a)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(a)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