[libvirt] [PATCH] qemu: add the print of page size in cmd domjobinfo

Chao Fan posted 1 patch 6 years, 6 months ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/libvirt tags/patchew/20170926074939.12564-1-fanc.fnst@cn.fujitsu.com
There is a newer version of this series
include/libvirt/libvirt-domain.h | 10 +++++++++-
src/qemu/qemu_domain.c           |  5 +++++
src/qemu/qemu_migration_cookie.c |  7 +++++++
src/qemu/qemu_monitor.h          |  1 +
src/qemu/qemu_monitor_json.c     |  2 ++
tools/virsh-domain.c             |  8 ++++++++
6 files changed, 32 insertions(+), 1 deletion(-)
[libvirt] [PATCH] qemu: add the print of page size in cmd domjobinfo
Posted by Chao Fan 6 years, 6 months ago
The command "info migrate" of qemu outputs the dirty-pages-rate during
migration, but page size is different in different architectures. So
page size should be output to calculate dirty pages in bytes.

Page size is already implemented with commit
030ce1f8612215fcbe9d353dfeaeb2937f8e3f94 in qemu.
Now Implement the counter-part in libvirt.

Signed-off-by: Chao Fan <fanc.fnst@cn.fujitsu.com>
---
 include/libvirt/libvirt-domain.h | 10 +++++++++-
 src/qemu/qemu_domain.c           |  5 +++++
 src/qemu/qemu_migration_cookie.c |  7 +++++++
 src/qemu/qemu_monitor.h          |  1 +
 src/qemu/qemu_monitor_json.c     |  2 ++
 tools/virsh-domain.c             |  8 ++++++++
 6 files changed, 32 insertions(+), 1 deletion(-)

diff --git a/include/libvirt/libvirt-domain.h b/include/libvirt/libvirt-domain.h
index 030a62c43..b05c9d762 100644
--- a/include/libvirt/libvirt-domain.h
+++ b/include/libvirt/libvirt-domain.h
@@ -3327,7 +3327,8 @@ typedef enum {
  */
 # define VIR_DOMAIN_JOB_MEMORY_BPS               "memory_bps"
 
-/** VIR_DOMAIN_JOB_MEMORY_DIRTY_RATE:
+/**
+ * VIR_DOMAIN_JOB_MEMORY_DIRTY_RATE:
  *
  * virDomainGetJobStats field: number of memory pages dirtied by the guest
  * per second, as VIR_TYPED_PARAM_ULLONG. This statistics makes sense only
@@ -3336,6 +3337,13 @@ typedef enum {
 # define VIR_DOMAIN_JOB_MEMORY_DIRTY_RATE        "memory_dirty_rate"
 
 /**
+ * VIR_DOMAIN_JOB_MEMORY_PAGE_SIZE:
+ *
+ * virDomainGetJobStats field: page size of the memory in this domian
+ */
+# define VIR_DOMAIN_JOB_MEMORY_PAGE_SIZE        "page_size"
+
+/**
  * VIR_DOMAIN_JOB_MEMORY_ITERATION:
  *
  * virDomainGetJobStats field: current iteration over domain's memory
diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c
index cb371f1e8..9194e70f8 100644
--- a/src/qemu/qemu_domain.c
+++ b/src/qemu/qemu_domain.c
@@ -571,6 +571,11 @@ qemuDomainJobInfoToParams(qemuDomainJobInfoPtr jobInfo,
         goto error;
 
     if (virTypedParamsAddULLong(&par, &npar, &maxpar,
+                                VIR_DOMAIN_JOB_MEMORY_PAGE_SIZE,
+                                stats->ram_page_size) < 0)
+        goto error;
+
+    if (virTypedParamsAddULLong(&par, &npar, &maxpar,
                                 VIR_DOMAIN_JOB_DISK_TOTAL,
                                 stats->disk_total +
                                 mirrorStats->total) < 0 ||
diff --git a/src/qemu/qemu_migration_cookie.c b/src/qemu/qemu_migration_cookie.c
index eef40a6cd..bc6a8dc55 100644
--- a/src/qemu/qemu_migration_cookie.c
+++ b/src/qemu/qemu_migration_cookie.c
@@ -654,6 +654,10 @@ qemuMigrationCookieStatisticsXMLFormat(virBufferPtr buf,
                       stats->ram_iteration);
 
     virBufferAsprintf(buf, "<%1$s>%2$llu</%1$s>\n",
+                      VIR_DOMAIN_JOB_MEMORY_PAGE_SIZE,
+                      stats->ram_page_size);
+
+    virBufferAsprintf(buf, "<%1$s>%2$llu</%1$s>\n",
                       VIR_DOMAIN_JOB_DISK_TOTAL,
                       stats->disk_total);
     virBufferAsprintf(buf, "<%1$s>%2$llu</%1$s>\n",
@@ -1014,6 +1018,9 @@ qemuMigrationCookieStatisticsXMLParse(xmlXPathContextPtr ctxt)
     virXPathULongLong("string(./" VIR_DOMAIN_JOB_MEMORY_ITERATION "[1])",
                       ctxt, &stats->ram_iteration);
 
+    virXPathULongLong("string(./" VIR_DOMAIN_JOB_MEMORY_PAGE_SIZE "[1])",
+                      ctxt, &stats->ram_page_size);
+
     virXPathULongLong("string(./" VIR_DOMAIN_JOB_DISK_TOTAL "[1])",
                       ctxt, &stats->disk_total);
     virXPathULongLong("string(./" VIR_DOMAIN_JOB_DISK_PROCESSED "[1])",
diff --git a/src/qemu/qemu_monitor.h b/src/qemu/qemu_monitor.h
index 6414d2483..1e3322433 100644
--- a/src/qemu/qemu_monitor.h
+++ b/src/qemu/qemu_monitor.h
@@ -677,6 +677,7 @@ struct _qemuMonitorMigrationStats {
     unsigned long long ram_normal;
     unsigned long long ram_normal_bytes;
     unsigned long long ram_dirty_rate;
+    unsigned long long ram_page_size;
     unsigned long long ram_iteration;
 
     unsigned long long disk_transferred;
diff --git a/src/qemu/qemu_monitor_json.c b/src/qemu/qemu_monitor_json.c
index 63b855920..625cbc134 100644
--- a/src/qemu/qemu_monitor_json.c
+++ b/src/qemu/qemu_monitor_json.c
@@ -2892,6 +2892,8 @@ qemuMonitorJSONGetMigrationStatsReply(virJSONValuePtr reply,
                                                       &stats->ram_normal_bytes));
         ignore_value(virJSONValueObjectGetNumberUlong(ram, "dirty-pages-rate",
                                                       &stats->ram_dirty_rate));
+        ignore_value(virJSONValueObjectGetNumberUlong(ram, "page-size",
+                                                      &stats->ram_page_size));
         ignore_value(virJSONValueObjectGetNumberUlong(ram, "dirty-sync-count",
                                                       &stats->ram_iteration));
 
diff --git a/tools/virsh-domain.c b/tools/virsh-domain.c
index a3f3b7c7b..a50713d6e 100644
--- a/tools/virsh-domain.c
+++ b/tools/virsh-domain.c
@@ -6021,6 +6021,14 @@ cmdDomjobinfo(vshControl *ctl, const vshCmd *cmd)
         }
 
         if ((rc = virTypedParamsGetULLong(params, nparams,
+                                          VIR_DOMAIN_JOB_MEMORY_PAGE_SIZE,
+                                          &value)) < 0) {
+            goto save_error;
+        } else if (rc) {
+            vshPrint(ctl, "%-17s %-12llu bytes\n", _("Page size:"), value);
+        }
+
+        if ((rc = virTypedParamsGetULLong(params, nparams,
                                           VIR_DOMAIN_JOB_MEMORY_ITERATION,
                                           &value)) < 0) {
             goto save_error;
-- 
2.13.5



--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list
Re: [libvirt] [PATCH] qemu: add the print of page size in cmd domjobinfo
Posted by John Ferlan 6 years, 6 months ago

On 09/26/2017 03:49 AM, Chao Fan wrote:
> The command "info migrate" of qemu outputs the dirty-pages-rate during
> migration, but page size is different in different architectures. So
> page size should be output to calculate dirty pages in bytes.
> 
> Page size is already implemented with commit
> 030ce1f8612215fcbe9d353dfeaeb2937f8e3f94 in qemu.
> Now Implement the counter-part in libvirt.
> 
> Signed-off-by: Chao Fan <fanc.fnst@cn.fujitsu.com>
> ---
>  include/libvirt/libvirt-domain.h | 10 +++++++++-
>  src/qemu/qemu_domain.c           |  5 +++++
>  src/qemu/qemu_migration_cookie.c |  7 +++++++
>  src/qemu/qemu_monitor.h          |  1 +
>  src/qemu/qemu_monitor_json.c     |  2 ++
>  tools/virsh-domain.c             |  8 ++++++++
>  6 files changed, 32 insertions(+), 1 deletion(-)
> 

When was 'page-size' added to the stats? Looks like perhaps 2.10 because
I don't see it in the tests/qemucapabilitiesdata/*.replies until 2.10...

While looking for something similar - I see the
"cpu-throttle-percentage" was added later than other parameters, so
perhaps follow that model a bit more closely at least with respect to
handling when the value isn't there in which case it would be 0. NB: at
one time cpu-throttle-percentage was prefixed w/ "x-" indicating an
experimental value so something did show up in earlier replies, but it
wasn't ready yet.

Imagine finding 'page_size=0" and using that as a divisor somewhere -
probably not going to end well.

I think this is close, but certainly having jdenemar also take a peek
would be good.

> diff --git a/include/libvirt/libvirt-domain.h b/include/libvirt/libvirt-domain.h
> index 030a62c43..b05c9d762 100644
> --- a/include/libvirt/libvirt-domain.h
> +++ b/include/libvirt/libvirt-domain.h
> @@ -3327,7 +3327,8 @@ typedef enum {
>   */
>  # define VIR_DOMAIN_JOB_MEMORY_BPS               "memory_bps"
>  
> -/** VIR_DOMAIN_JOB_MEMORY_DIRTY_RATE:
> +/**
> + * VIR_DOMAIN_JOB_MEMORY_DIRTY_RATE:

This is unrelated - there are those that will say just this change
should be its own patch...

>   *
>   * virDomainGetJobStats field: number of memory pages dirtied by the guest
>   * per second, as VIR_TYPED_PARAM_ULLONG. This statistics makes sense only
> @@ -3336,6 +3337,13 @@ typedef enum {
>  # define VIR_DOMAIN_JOB_MEMORY_DIRTY_RATE        "memory_dirty_rate"
>  
>  /**
> + * VIR_DOMAIN_JOB_MEMORY_PAGE_SIZE:
> + *
> + * virDomainGetJobStats field: page size of the memory in this domian

s/domian/domain

> + */
> +# define VIR_DOMAIN_JOB_MEMORY_PAGE_SIZE        "page_size"
> +
> +/**
>   * VIR_DOMAIN_JOB_MEMORY_ITERATION:
>   *
>   * virDomainGetJobStats field: current iteration over domain's memory
> diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c
> index cb371f1e8..9194e70f8 100644
> --- a/src/qemu/qemu_domain.c
> +++ b/src/qemu/qemu_domain.c
> @@ -571,6 +571,11 @@ qemuDomainJobInfoToParams(qemuDomainJobInfoPtr jobInfo,
>          goto error;
>  
>      if (virTypedParamsAddULLong(&par, &npar, &maxpar,

I think you want a:

    if (stats->ram_page_size &&
        virTypedParamsAddULLong(&par, &npar, &maxpar,

(or ram_page_size > 0 to be more technically correct)

The rest seems fine...

John

> +                                VIR_DOMAIN_JOB_MEMORY_PAGE_SIZE,
> +                                stats->ram_page_size) < 0)
> +        goto error;
> +
> +    if (virTypedParamsAddULLong(&par, &npar, &maxpar,
>                                  VIR_DOMAIN_JOB_DISK_TOTAL,
>                                  stats->disk_total +
>                                  mirrorStats->total) < 0 ||
> diff --git a/src/qemu/qemu_migration_cookie.c b/src/qemu/qemu_migration_cookie.c
> index eef40a6cd..bc6a8dc55 100644
> --- a/src/qemu/qemu_migration_cookie.c
> +++ b/src/qemu/qemu_migration_cookie.c
> @@ -654,6 +654,10 @@ qemuMigrationCookieStatisticsXMLFormat(virBufferPtr buf,
>                        stats->ram_iteration);
>  
>      virBufferAsprintf(buf, "<%1$s>%2$llu</%1$s>\n",
> +                      VIR_DOMAIN_JOB_MEMORY_PAGE_SIZE,
> +                      stats->ram_page_size);
> +
> +    virBufferAsprintf(buf, "<%1$s>%2$llu</%1$s>\n",
>                        VIR_DOMAIN_JOB_DISK_TOTAL,
>                        stats->disk_total);
>      virBufferAsprintf(buf, "<%1$s>%2$llu</%1$s>\n",
> @@ -1014,6 +1018,9 @@ qemuMigrationCookieStatisticsXMLParse(xmlXPathContextPtr ctxt)
>      virXPathULongLong("string(./" VIR_DOMAIN_JOB_MEMORY_ITERATION "[1])",
>                        ctxt, &stats->ram_iteration);
>  
> +    virXPathULongLong("string(./" VIR_DOMAIN_JOB_MEMORY_PAGE_SIZE "[1])",
> +                      ctxt, &stats->ram_page_size);
> +
>      virXPathULongLong("string(./" VIR_DOMAIN_JOB_DISK_TOTAL "[1])",
>                        ctxt, &stats->disk_total);
>      virXPathULongLong("string(./" VIR_DOMAIN_JOB_DISK_PROCESSED "[1])",
> diff --git a/src/qemu/qemu_monitor.h b/src/qemu/qemu_monitor.h
> index 6414d2483..1e3322433 100644
> --- a/src/qemu/qemu_monitor.h
> +++ b/src/qemu/qemu_monitor.h
> @@ -677,6 +677,7 @@ struct _qemuMonitorMigrationStats {
>      unsigned long long ram_normal;
>      unsigned long long ram_normal_bytes;
>      unsigned long long ram_dirty_rate;
> +    unsigned long long ram_page_size;
>      unsigned long long ram_iteration;
>  
>      unsigned long long disk_transferred;
> diff --git a/src/qemu/qemu_monitor_json.c b/src/qemu/qemu_monitor_json.c
> index 63b855920..625cbc134 100644
> --- a/src/qemu/qemu_monitor_json.c
> +++ b/src/qemu/qemu_monitor_json.c
> @@ -2892,6 +2892,8 @@ qemuMonitorJSONGetMigrationStatsReply(virJSONValuePtr reply,
>                                                        &stats->ram_normal_bytes));
>          ignore_value(virJSONValueObjectGetNumberUlong(ram, "dirty-pages-rate",
>                                                        &stats->ram_dirty_rate));
> +        ignore_value(virJSONValueObjectGetNumberUlong(ram, "page-size",
> +                                                      &stats->ram_page_size));
>          ignore_value(virJSONValueObjectGetNumberUlong(ram, "dirty-sync-count",
>                                                        &stats->ram_iteration));
>  
> diff --git a/tools/virsh-domain.c b/tools/virsh-domain.c
> index a3f3b7c7b..a50713d6e 100644
> --- a/tools/virsh-domain.c
> +++ b/tools/virsh-domain.c
> @@ -6021,6 +6021,14 @@ cmdDomjobinfo(vshControl *ctl, const vshCmd *cmd)
>          }
>  
>          if ((rc = virTypedParamsGetULLong(params, nparams,
> +                                          VIR_DOMAIN_JOB_MEMORY_PAGE_SIZE,
> +                                          &value)) < 0) {
> +            goto save_error;
> +        } else if (rc) {
> +            vshPrint(ctl, "%-17s %-12llu bytes\n", _("Page size:"), value);
> +        }
> +
> +        if ((rc = virTypedParamsGetULLong(params, nparams,
>                                            VIR_DOMAIN_JOB_MEMORY_ITERATION,
>                                            &value)) < 0) {
>              goto save_error;
> 

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list
Re: [libvirt] [PATCH] qemu: add the print of page size in cmd domjobinfo
Posted by Chao Fan 6 years, 6 months ago
On Wed, Sep 27, 2017 at 04:52:17PM -0400, John Ferlan wrote:
>
>
>On 09/26/2017 03:49 AM, Chao Fan wrote:
>> The command "info migrate" of qemu outputs the dirty-pages-rate during
>> migration, but page size is different in different architectures. So
>> page size should be output to calculate dirty pages in bytes.
>> 
>> Page size is already implemented with commit
>> 030ce1f8612215fcbe9d353dfeaeb2937f8e3f94 in qemu.
>> Now Implement the counter-part in libvirt.
>> 
>> Signed-off-by: Chao Fan <fanc.fnst@cn.fujitsu.com>
>> ---
>>  include/libvirt/libvirt-domain.h | 10 +++++++++-
>>  src/qemu/qemu_domain.c           |  5 +++++
>>  src/qemu/qemu_migration_cookie.c |  7 +++++++
>>  src/qemu/qemu_monitor.h          |  1 +
>>  src/qemu/qemu_monitor_json.c     |  2 ++
>>  tools/virsh-domain.c             |  8 ++++++++
>>  6 files changed, 32 insertions(+), 1 deletion(-)
>> 
>

Hi John,
Thanks for your reply.

>When was 'page-size' added to the stats? Looks like perhaps 2.10 because
>I don't see it in the tests/qemucapabilitiesdata/*.replies until 2.10...

Yes, my patch of adding 'page-size' to command 'info migrate' was merged
in qemu 2.10

>
>While looking for something similar - I see the
>"cpu-throttle-percentage" was added later than other parameters, so
>perhaps follow that model a bit more closely at least with respect to
>handling when the value isn't there in which case it would be 0. NB: at

Thanks for your suggestion.

>one time cpu-throttle-percentage was prefixed w/ "x-" indicating an
>experimental value so something did show up in earlier replies, but it
>wasn't ready yet.
>
>Imagine finding 'page_size=0" and using that as a divisor somewhere -
>probably not going to end well.
>
>I think this is close, but certainly having jdenemar also take a peek
>would be good.

OK, I will CC him when PATCH V2 is ready.
>
>> diff --git a/include/libvirt/libvirt-domain.h b/include/libvirt/libvirt-domain.h
>> index 030a62c43..b05c9d762 100644
>> --- a/include/libvirt/libvirt-domain.h
>> +++ b/include/libvirt/libvirt-domain.h
>> @@ -3327,7 +3327,8 @@ typedef enum {
>>   */
>>  # define VIR_DOMAIN_JOB_MEMORY_BPS               "memory_bps"
>>  
>> -/** VIR_DOMAIN_JOB_MEMORY_DIRTY_RATE:
>> +/**
>> + * VIR_DOMAIN_JOB_MEMORY_DIRTY_RATE:
>
>This is unrelated - there are those that will say just this change
>should be its own patch...

Yes, it's a small problem, so I thought I can fix it.
Will drop it in PATCH V2.
>
>>   *
>>   * virDomainGetJobStats field: number of memory pages dirtied by the guest
>>   * per second, as VIR_TYPED_PARAM_ULLONG. This statistics makes sense only
>> @@ -3336,6 +3337,13 @@ typedef enum {
>>  # define VIR_DOMAIN_JOB_MEMORY_DIRTY_RATE        "memory_dirty_rate"
>>  
>>  /**
>> + * VIR_DOMAIN_JOB_MEMORY_PAGE_SIZE:
>> + *
>> + * virDomainGetJobStats field: page size of the memory in this domian
>
>s/domian/domain

Sorry for my typo, will fix it.
>
>> + */
>> +# define VIR_DOMAIN_JOB_MEMORY_PAGE_SIZE        "page_size"
>> +
>> +/**
>>   * VIR_DOMAIN_JOB_MEMORY_ITERATION:
>>   *
>>   * virDomainGetJobStats field: current iteration over domain's memory
>> diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c
>> index cb371f1e8..9194e70f8 100644
>> --- a/src/qemu/qemu_domain.c
>> +++ b/src/qemu/qemu_domain.c
>> @@ -571,6 +571,11 @@ qemuDomainJobInfoToParams(qemuDomainJobInfoPtr jobInfo,
>>          goto error;
>>  
>>      if (virTypedParamsAddULLong(&par, &npar, &maxpar,
>
>I think you want a:
>
>    if (stats->ram_page_size &&
>        virTypedParamsAddULLong(&par, &npar, &maxpar,

Yes, so many thanks for your help.

>
>(or ram_page_size > 0 to be more technically correct)
>
>The rest seems fine...

OK, the PATCH V2 is on the way.

Thanks,
Chao Fan
>
>John
>
>> +                                VIR_DOMAIN_JOB_MEMORY_PAGE_SIZE,
>> +                                stats->ram_page_size) < 0)
>> +        goto error;
>> +
>> +    if (virTypedParamsAddULLong(&par, &npar, &maxpar,
>>                                  VIR_DOMAIN_JOB_DISK_TOTAL,
>>                                  stats->disk_total +
>>                                  mirrorStats->total) < 0 ||
>> diff --git a/src/qemu/qemu_migration_cookie.c b/src/qemu/qemu_migration_cookie.c
>> index eef40a6cd..bc6a8dc55 100644
>> --- a/src/qemu/qemu_migration_cookie.c
>> +++ b/src/qemu/qemu_migration_cookie.c
>> @@ -654,6 +654,10 @@ qemuMigrationCookieStatisticsXMLFormat(virBufferPtr buf,
>>                        stats->ram_iteration);
>>  
>>      virBufferAsprintf(buf, "<%1$s>%2$llu</%1$s>\n",
>> +                      VIR_DOMAIN_JOB_MEMORY_PAGE_SIZE,
>> +                      stats->ram_page_size);
>> +
>> +    virBufferAsprintf(buf, "<%1$s>%2$llu</%1$s>\n",
>>                        VIR_DOMAIN_JOB_DISK_TOTAL,
>>                        stats->disk_total);
>>      virBufferAsprintf(buf, "<%1$s>%2$llu</%1$s>\n",
>> @@ -1014,6 +1018,9 @@ qemuMigrationCookieStatisticsXMLParse(xmlXPathContextPtr ctxt)
>>      virXPathULongLong("string(./" VIR_DOMAIN_JOB_MEMORY_ITERATION "[1])",
>>                        ctxt, &stats->ram_iteration);
>>  
>> +    virXPathULongLong("string(./" VIR_DOMAIN_JOB_MEMORY_PAGE_SIZE "[1])",
>> +                      ctxt, &stats->ram_page_size);
>> +
>>      virXPathULongLong("string(./" VIR_DOMAIN_JOB_DISK_TOTAL "[1])",
>>                        ctxt, &stats->disk_total);
>>      virXPathULongLong("string(./" VIR_DOMAIN_JOB_DISK_PROCESSED "[1])",
>> diff --git a/src/qemu/qemu_monitor.h b/src/qemu/qemu_monitor.h
>> index 6414d2483..1e3322433 100644
>> --- a/src/qemu/qemu_monitor.h
>> +++ b/src/qemu/qemu_monitor.h
>> @@ -677,6 +677,7 @@ struct _qemuMonitorMigrationStats {
>>      unsigned long long ram_normal;
>>      unsigned long long ram_normal_bytes;
>>      unsigned long long ram_dirty_rate;
>> +    unsigned long long ram_page_size;
>>      unsigned long long ram_iteration;
>>  
>>      unsigned long long disk_transferred;
>> diff --git a/src/qemu/qemu_monitor_json.c b/src/qemu/qemu_monitor_json.c
>> index 63b855920..625cbc134 100644
>> --- a/src/qemu/qemu_monitor_json.c
>> +++ b/src/qemu/qemu_monitor_json.c
>> @@ -2892,6 +2892,8 @@ qemuMonitorJSONGetMigrationStatsReply(virJSONValuePtr reply,
>>                                                        &stats->ram_normal_bytes));
>>          ignore_value(virJSONValueObjectGetNumberUlong(ram, "dirty-pages-rate",
>>                                                        &stats->ram_dirty_rate));
>> +        ignore_value(virJSONValueObjectGetNumberUlong(ram, "page-size",
>> +                                                      &stats->ram_page_size));
>>          ignore_value(virJSONValueObjectGetNumberUlong(ram, "dirty-sync-count",
>>                                                        &stats->ram_iteration));
>>  
>> diff --git a/tools/virsh-domain.c b/tools/virsh-domain.c
>> index a3f3b7c7b..a50713d6e 100644
>> --- a/tools/virsh-domain.c
>> +++ b/tools/virsh-domain.c
>> @@ -6021,6 +6021,14 @@ cmdDomjobinfo(vshControl *ctl, const vshCmd *cmd)
>>          }
>>  
>>          if ((rc = virTypedParamsGetULLong(params, nparams,
>> +                                          VIR_DOMAIN_JOB_MEMORY_PAGE_SIZE,
>> +                                          &value)) < 0) {
>> +            goto save_error;
>> +        } else if (rc) {
>> +            vshPrint(ctl, "%-17s %-12llu bytes\n", _("Page size:"), value);
>> +        }
>> +
>> +        if ((rc = virTypedParamsGetULLong(params, nparams,
>>                                            VIR_DOMAIN_JOB_MEMORY_ITERATION,
>>                                            &value)) < 0) {
>>              goto save_error;
>> 
>
>


--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list