qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [PATCH QEMU v3 3/3] MAINTAINERS: Add section "Migration dirty limit and dirty page rate"
  2023-07-30 16:48 [PATCH QEMU v3 0/3] migration: craft the doc comments ~hyman
@ 2023-07-26 18:10 ` ~hyman
  2023-08-02  7:27   ` Markus Armbruster
  2023-07-28  9:38 ` [PATCH QEMU v3 1/3] qapi: Reformat the dirty-limit migration doc comments ~hyman
  2023-07-28 15:10 ` [PATCH QEMU v3 2/3] qapi: Craft the dirty-limit capability comment ~hyman
  2 siblings, 1 reply; 9+ messages in thread
From: ~hyman @ 2023-07-26 18:10 UTC (permalink / raw)
  To: qemu-devel
  Cc: Eric Blake, Markus Armbruster, Juan Quintela, Peter Xu,
	Leonardo Bras

From: Hyman Huang(黄勇) <yong.huang@smartx.com>

I've built interests in dirty limit and dirty page rate
features and also have been working on projects related
to this subsystem.

Add a section to the MAINTAINERS file for migration
dirty limit and dirty page rate.

Add myself as a maintainer for this subsystem so that I
can help to improve the dirty limit algorithm and review
the patches about dirty page rate.

Signed-off-by: Hyman Huang(黄勇) <yong.huang@smartx.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Acked-by: Peter Xu <peterx@redhat.com>
---
 MAINTAINERS | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/MAINTAINERS b/MAINTAINERS
index 12e59b6b27..6111b6b4d9 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -3209,6 +3209,15 @@ F: qapi/migration.json
 F: tests/migration/
 F: util/userfaultfd.c
 
+Migration dirty limit and dirty page rate
+M: Hyman Huang <yong.huang@smartx.com>
+S: Maintained
+F: softmmu/dirtylimit.c
+F: include/sysemu/dirtylimit.h
+F: migration/dirtyrate.c
+F: migration/dirtyrate.h
+F: include/sysemu/dirtyrate.h
+
 D-Bus
 M: Marc-André Lureau <marcandre.lureau@redhat.com>
 S: Maintained
-- 
2.38.5


^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [PATCH QEMU v3 1/3] qapi: Reformat the dirty-limit migration doc comments
  2023-07-30 16:48 [PATCH QEMU v3 0/3] migration: craft the doc comments ~hyman
  2023-07-26 18:10 ` [PATCH QEMU v3 3/3] MAINTAINERS: Add section "Migration dirty limit and dirty page rate" ~hyman
@ 2023-07-28  9:38 ` ~hyman
  2023-08-01 12:34   ` Markus Armbruster
  2023-07-28 15:10 ` [PATCH QEMU v3 2/3] qapi: Craft the dirty-limit capability comment ~hyman
  2 siblings, 1 reply; 9+ messages in thread
From: ~hyman @ 2023-07-28  9:38 UTC (permalink / raw)
  To: qemu-devel
  Cc: Eric Blake, Markus Armbruster, Juan Quintela, Peter Xu,
	Leonardo Bras

From: Hyman Huang(黄勇) <yong.huang@smartx.com>

Reformat the dirty-limit migration doc comments to conform
to current conventions as commit a937b6aa739 (qapi: Reformat
doc comments to conform to current conventions).

Signed-off-by: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Hyman Huang(黄勇) <yong.huang@smartx.com>
---
 qapi/migration.json | 69 ++++++++++++++++++++++-----------------------
 1 file changed, 34 insertions(+), 35 deletions(-)

diff --git a/qapi/migration.json b/qapi/migration.json
index 6b49593d2f..a74ade4d72 100644
--- a/qapi/migration.json
+++ b/qapi/migration.json
@@ -258,17 +258,17 @@
 #     blocked.  Present and non-empty when migration is blocked.
 #     (since 6.0)
 #
-# @dirty-limit-throttle-time-per-round: Maximum throttle time (in microseconds) of virtual
-#                                       CPUs each dirty ring full round, which shows how
-#                                       MigrationCapability dirty-limit affects the guest
-#                                       during live migration. (since 8.1)
-#
-# @dirty-limit-ring-full-time: Estimated average dirty ring full time (in microseconds)
-#                              each dirty ring full round, note that the value equals
-#                              dirty ring memory size divided by average dirty page rate
-#                              of virtual CPU, which can be used to observe the average
-#                              memory load of virtual CPU indirectly. Note that zero
-#                              means guest doesn't dirty memory (since 8.1)
+# @dirty-limit-throttle-time-per-round: Maximum throttle time
+#     (in microseconds) of virtual CPUs each dirty ring full round,
+#     which shows how MigrationCapability dirty-limit affects the
+#     guest during live migration.  (Since 8.1)
+#
+# @dirty-limit-ring-full-time: Estimated average dirty ring full
+#     time (in microseconds) for each dirty ring full round. The
+#     value equals the dirty ring memory size divided by the average
+#     dirty page rate of the virtual CPU, which can be used to
+#     observe the average memory load of the virtual CPU indirectly.
+#     Note that zero means guest doesn't dirty memory.  (Since 8.1)
 #
 # Since: 0.14
 ##
@@ -519,15 +519,14 @@
 #     are present.  'return-path' capability must be enabled to use
 #     it.  (since 8.1)
 #
-# @dirty-limit: If enabled, migration will use the dirty-limit algo to
-#               throttle down guest instead of auto-converge algo.
-#               Throttle algo only works when vCPU's dirtyrate greater
-#               than 'vcpu-dirty-limit', read processes in guest os
-#               aren't penalized any more, so this algo can improve
-#               performance of vCPU during live migration. This is an
-#               optional performance feature and should not affect the
-#               correctness of the existing auto-converge algo.
-#               (since 8.1)
+# @dirty-limit: If enabled, migration will use the dirty-limit
+#     algorithim to throttle down guest instead of auto-converge
+#     algorithim. Throttle algorithim only works when vCPU's dirtyrate
+#     greater than 'vcpu-dirty-limit', read processes in guest os
+#     aren't penalized any more, so this algorithim can improve
+#     performance of vCPU during live migration. This is an optional
+#     performance feature and should not affect the correctness of the
+#     existing auto-converge algorithim.  (Since 8.1)
 #
 # Features:
 #
@@ -822,17 +821,17 @@
 #     Nodes are mapped to their block device name if there is one, and
 #     to their node name otherwise.  (Since 5.2)
 #
-# @x-vcpu-dirty-limit-period: Periodic time (in milliseconds) of dirty limit during
-#                             live migration. Should be in the range 1 to 1000ms,
-#                             defaults to 1000ms. (Since 8.1)
+# @x-vcpu-dirty-limit-period: Periodic time (in milliseconds) of dirty
+#     limit during live migration. Should be in the range 1 to 1000ms.
+#     Defaults to 1000ms.  (Since 8.1)
 #
 # @vcpu-dirty-limit: Dirtyrate limit (MB/s) during live migration.
-#                    Defaults to 1. (Since 8.1)
+#     Defaults to 1.  (Since 8.1)
 #
 # Features:
 #
 # @unstable: Members @x-checkpoint-delay and @x-vcpu-dirty-limit-period
-#            are experimental.
+#     are experimental.
 #
 # Since: 2.4
 ##
@@ -988,17 +987,17 @@
 #     Nodes are mapped to their block device name if there is one, and
 #     to their node name otherwise.  (Since 5.2)
 #
-# @x-vcpu-dirty-limit-period: Periodic time (in milliseconds) of dirty limit during
-#                             live migration. Should be in the range 1 to 1000ms,
-#                             defaults to 1000ms. (Since 8.1)
+# @x-vcpu-dirty-limit-period: Periodic time (in milliseconds) of dirty
+#     limit during live migration. Should be in the range 1 to 1000ms.
+#     Defaults to 1000ms.  (Since 8.1)
 #
 # @vcpu-dirty-limit: Dirtyrate limit (MB/s) during live migration.
-#                    Defaults to 1. (Since 8.1)
+#     Defaults to 1.  (Since 8.1)
 #
 # Features:
 #
 # @unstable: Members @x-checkpoint-delay and @x-vcpu-dirty-limit-period
-#            are experimental.
+#     are experimental.
 #
 # TODO: either fuse back into MigrationParameters, or make
 #     MigrationParameters members mandatory
@@ -1191,17 +1190,17 @@
 #     Nodes are mapped to their block device name if there is one, and
 #     to their node name otherwise.  (Since 5.2)
 #
-# @x-vcpu-dirty-limit-period: Periodic time (in milliseconds) of dirty limit during
-#                             live migration. Should be in the range 1 to 1000ms,
-#                             defaults to 1000ms. (Since 8.1)
+# @x-vcpu-dirty-limit-period: Periodic time (in milliseconds) of dirty
+#     limit during live migration. Should be in the range 1 to 1000ms.
+#     Defaults to 1000ms.  (Since 8.1)
 #
 # @vcpu-dirty-limit: Dirtyrate limit (MB/s) during live migration.
-#                    Defaults to 1. (Since 8.1)
+#     Defaults to 1.  (Since 8.1)
 #
 # Features:
 #
 # @unstable: Members @x-checkpoint-delay and @x-vcpu-dirty-limit-period
-#            are experimental.
+#     are experimental.
 #
 # Since: 2.4
 ##
-- 
2.38.5



^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [PATCH QEMU v3 2/3] qapi: Craft the dirty-limit capability comment
  2023-07-30 16:48 [PATCH QEMU v3 0/3] migration: craft the doc comments ~hyman
  2023-07-26 18:10 ` [PATCH QEMU v3 3/3] MAINTAINERS: Add section "Migration dirty limit and dirty page rate" ~hyman
  2023-07-28  9:38 ` [PATCH QEMU v3 1/3] qapi: Reformat the dirty-limit migration doc comments ~hyman
@ 2023-07-28 15:10 ` ~hyman
  2023-08-02  7:28   ` Markus Armbruster
  2 siblings, 1 reply; 9+ messages in thread
From: ~hyman @ 2023-07-28 15:10 UTC (permalink / raw)
  To: qemu-devel
  Cc: Eric Blake, Markus Armbruster, Juan Quintela, Peter Xu,
	Leonardo Bras

From: Hyman Huang(黄勇) <yong.huang@smartx.com>

Signed-off-by: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Hyman Huang(黄勇) <yong.huang@smartx.com>
---
 qapi/migration.json | 13 +++++--------
 1 file changed, 5 insertions(+), 8 deletions(-)

diff --git a/qapi/migration.json b/qapi/migration.json
index a74ade4d72..62ab151da2 100644
--- a/qapi/migration.json
+++ b/qapi/migration.json
@@ -519,14 +519,11 @@
 #     are present.  'return-path' capability must be enabled to use
 #     it.  (since 8.1)
 #
-# @dirty-limit: If enabled, migration will use the dirty-limit
-#     algorithim to throttle down guest instead of auto-converge
-#     algorithim. Throttle algorithim only works when vCPU's dirtyrate
-#     greater than 'vcpu-dirty-limit', read processes in guest os
-#     aren't penalized any more, so this algorithim can improve
-#     performance of vCPU during live migration. This is an optional
-#     performance feature and should not affect the correctness of the
-#     existing auto-converge algorithim.  (Since 8.1)
+# @dirty-limit: If enabled, migration will throttle vCPUs as needed to
+#     keep their dirty page rate within @vcpu-dirty-limit.  This can
+#     improve responsiveness of large guests during live migration,
+#     and can result in more stable read performance.  Requires KVM
+#     with accelerator property "dirty-ring-size" set.  (Since 8.1)
 #
 # Features:
 #
-- 
2.38.5



^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [PATCH QEMU v3 0/3] migration: craft the doc comments
@ 2023-07-30 16:48 ~hyman
  2023-07-26 18:10 ` [PATCH QEMU v3 3/3] MAINTAINERS: Add section "Migration dirty limit and dirty page rate" ~hyman
                   ` (2 more replies)
  0 siblings, 3 replies; 9+ messages in thread
From: ~hyman @ 2023-07-30 16:48 UTC (permalink / raw)
  To: qemu-devel
  Cc: Eric Blake, Markus Armbruster, Juan Quintela, Peter Xu,
	Leonardo Bras

Hi, please review the version 3 of the series, thanks.

V3:
- craft the commit message of
  "Add section for migration dirty limit and dirty page rate",
  and put the section after section "Migration", suggested
  by Markus.

V2:
- split the first commit in v1 into 2
- add commit message of commit:
  MAINTAINERS: Add Hyman Huang as maintainer

Yong

Hyman Huang(黄勇) (3):
  qapi: Reformat the dirty-limit migration doc comments
  qapi: Craft the dirty-limit capability comment
  MAINTAINERS: Add section "Migration dirty limit and dirty page rate"

 MAINTAINERS         |  9 +++++++
 qapi/migration.json | 66 +++++++++++++++++++++------------------------
 2 files changed, 40 insertions(+), 35 deletions(-)

-- 
2.38.5


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH QEMU v3 1/3] qapi: Reformat the dirty-limit migration doc comments
  2023-07-28  9:38 ` [PATCH QEMU v3 1/3] qapi: Reformat the dirty-limit migration doc comments ~hyman
@ 2023-08-01 12:34   ` Markus Armbruster
  2023-08-02  0:46     ` Yong Huang
  0 siblings, 1 reply; 9+ messages in thread
From: Markus Armbruster @ 2023-08-01 12:34 UTC (permalink / raw)
  To: ~hyman; +Cc: qemu-devel, Eric Blake, Juan Quintela, Peter Xu, Leonardo Bras

~hyman <hyman@git.sr.ht> writes:

> From: Hyman Huang(黄勇) <yong.huang@smartx.com>
>
> Reformat the dirty-limit migration doc comments to conform
> to current conventions as commit a937b6aa739 (qapi: Reformat
> doc comments to conform to current conventions).
>
> Signed-off-by: Markus Armbruster <armbru@redhat.com>

Unexpected S-o-b.  Accident?

> Signed-off-by: Hyman Huang(黄勇) <yong.huang@smartx.com>
> ---
>  qapi/migration.json | 69 ++++++++++++++++++++++-----------------------
>  1 file changed, 34 insertions(+), 35 deletions(-)
>
> diff --git a/qapi/migration.json b/qapi/migration.json
> index 6b49593d2f..a74ade4d72 100644
> --- a/qapi/migration.json
> +++ b/qapi/migration.json
> @@ -258,17 +258,17 @@
>  #     blocked.  Present and non-empty when migration is blocked.
>  #     (since 6.0)
>  #
> -# @dirty-limit-throttle-time-per-round: Maximum throttle time (in microseconds) of virtual
> -#                                       CPUs each dirty ring full round, which shows how
> -#                                       MigrationCapability dirty-limit affects the guest
> -#                                       during live migration. (since 8.1)
> -#
> -# @dirty-limit-ring-full-time: Estimated average dirty ring full time (in microseconds)
> -#                              each dirty ring full round, note that the value equals
> -#                              dirty ring memory size divided by average dirty page rate
> -#                              of virtual CPU, which can be used to observe the average
> -#                              memory load of virtual CPU indirectly. Note that zero
> -#                              means guest doesn't dirty memory (since 8.1)
> +# @dirty-limit-throttle-time-per-round: Maximum throttle time
> +#     (in microseconds) of virtual CPUs each dirty ring full round,
> +#     which shows how MigrationCapability dirty-limit affects the
> +#     guest during live migration.  (Since 8.1)
> +#
> +# @dirty-limit-ring-full-time: Estimated average dirty ring full
> +#     time (in microseconds) for each dirty ring full round. The

Two spaces between sentences for consistency.

> +#     value equals the dirty ring memory size divided by the average
> +#     dirty page rate of the virtual CPU, which can be used to
> +#     observe the average memory load of the virtual CPU indirectly.
> +#     Note that zero means guest doesn't dirty memory.  (Since 8.1)
>  #
>  # Since: 0.14
>  ##
> @@ -519,15 +519,14 @@
>  #     are present.  'return-path' capability must be enabled to use
>  #     it.  (since 8.1)
>  #
> -# @dirty-limit: If enabled, migration will use the dirty-limit algo to
> -#               throttle down guest instead of auto-converge algo.
> -#               Throttle algo only works when vCPU's dirtyrate greater
> -#               than 'vcpu-dirty-limit', read processes in guest os
> -#               aren't penalized any more, so this algo can improve
> -#               performance of vCPU during live migration. This is an
> -#               optional performance feature and should not affect the
> -#               correctness of the existing auto-converge algo.
> -#               (since 8.1)
> +# @dirty-limit: If enabled, migration will use the dirty-limit
> +#     algorithim to throttle down guest instead of auto-converge
> +#     algorithim. Throttle algorithim only works when vCPU's dirtyrate
> +#     greater than 'vcpu-dirty-limit', read processes in guest os
> +#     aren't penalized any more, so this algorithim can improve
> +#     performance of vCPU during live migration. This is an optional
> +#     performance feature and should not affect the correctness of the
> +#     existing auto-converge algorithim.  (Since 8.1)
>  #
>  # Features:
>  #
> @@ -822,17 +821,17 @@
>  #     Nodes are mapped to their block device name if there is one, and
>  #     to their node name otherwise.  (Since 5.2)
>  #
> -# @x-vcpu-dirty-limit-period: Periodic time (in milliseconds) of dirty limit during
> -#                             live migration. Should be in the range 1 to 1000ms,
> -#                             defaults to 1000ms. (Since 8.1)
> +# @x-vcpu-dirty-limit-period: Periodic time (in milliseconds) of dirty
> +#     limit during live migration. Should be in the range 1 to 1000ms.
> +#     Defaults to 1000ms.  (Since 8.1)

Likewise.

>  #
>  # @vcpu-dirty-limit: Dirtyrate limit (MB/s) during live migration.
> -#                    Defaults to 1. (Since 8.1)
> +#     Defaults to 1.  (Since 8.1)
>  #
>  # Features:
>  #
>  # @unstable: Members @x-checkpoint-delay and @x-vcpu-dirty-limit-period
> -#            are experimental.
> +#     are experimental.
>  #
>  # Since: 2.4
>  ##
> @@ -988,17 +987,17 @@
>  #     Nodes are mapped to their block device name if there is one, and
>  #     to their node name otherwise.  (Since 5.2)
>  #
> -# @x-vcpu-dirty-limit-period: Periodic time (in milliseconds) of dirty limit during
> -#                             live migration. Should be in the range 1 to 1000ms,
> -#                             defaults to 1000ms. (Since 8.1)
> +# @x-vcpu-dirty-limit-period: Periodic time (in milliseconds) of dirty
> +#     limit during live migration. Should be in the range 1 to 1000ms.
> +#     Defaults to 1000ms.  (Since 8.1)

Likewise.

>  #
>  # @vcpu-dirty-limit: Dirtyrate limit (MB/s) during live migration.
> -#                    Defaults to 1. (Since 8.1)
> +#     Defaults to 1.  (Since 8.1)
>  #
>  # Features:
>  #
>  # @unstable: Members @x-checkpoint-delay and @x-vcpu-dirty-limit-period
> -#            are experimental.
> +#     are experimental.
>  #
>  # TODO: either fuse back into MigrationParameters, or make
>  #     MigrationParameters members mandatory
> @@ -1191,17 +1190,17 @@
>  #     Nodes are mapped to their block device name if there is one, and
>  #     to their node name otherwise.  (Since 5.2)
>  #
> -# @x-vcpu-dirty-limit-period: Periodic time (in milliseconds) of dirty limit during
> -#                             live migration. Should be in the range 1 to 1000ms,
> -#                             defaults to 1000ms. (Since 8.1)
> +# @x-vcpu-dirty-limit-period: Periodic time (in milliseconds) of dirty
> +#     limit during live migration. Should be in the range 1 to 1000ms.
> +#     Defaults to 1000ms.  (Since 8.1)

Likewise.

>  #
>  # @vcpu-dirty-limit: Dirtyrate limit (MB/s) during live migration.
> -#                    Defaults to 1. (Since 8.1)
> +#     Defaults to 1.  (Since 8.1)
>  #
>  # Features:
>  #
>  # @unstable: Members @x-checkpoint-delay and @x-vcpu-dirty-limit-period
> -#            are experimental.
> +#     are experimental.
>  #
>  # Since: 2.4
>  ##

No need for another respin, I'm happy to tidy up spacing in my tree.


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH QEMU v3 1/3] qapi: Reformat the dirty-limit migration doc comments
  2023-08-01 12:34   ` Markus Armbruster
@ 2023-08-02  0:46     ` Yong Huang
  2023-08-02  7:25       ` Markus Armbruster
  0 siblings, 1 reply; 9+ messages in thread
From: Yong Huang @ 2023-08-02  0:46 UTC (permalink / raw)
  To: Markus Armbruster
  Cc: qemu-devel, Eric Blake, Juan Quintela, Peter Xu, Leonardo Bras

[-- Attachment #1: Type: text/plain, Size: 7398 bytes --]

On Tue, Aug 1, 2023 at 8:34 PM Markus Armbruster <armbru@redhat.com> wrote:

> ~hyman <hyman@git.sr.ht> writes:
>
> > From: Hyman Huang(黄勇) <yong.huang@smartx.com>
> >
> > Reformat the dirty-limit migration doc comments to conform
> > to current conventions as commit a937b6aa739 (qapi: Reformat
> > doc comments to conform to current conventions).
> >
> > Signed-off-by: Markus Armbruster <armbru@redhat.com>
>
> Unexpected S-o-b.  Accident?
>
Yes, I'll fix that

>
> > Signed-off-by: Hyman Huang(黄勇) <yong.huang@smartx.com>
> > ---
> >  qapi/migration.json | 69 ++++++++++++++++++++++-----------------------
> >  1 file changed, 34 insertions(+), 35 deletions(-)
> >
> > diff --git a/qapi/migration.json b/qapi/migration.json
> > index 6b49593d2f..a74ade4d72 100644
> > --- a/qapi/migration.json
> > +++ b/qapi/migration.json
> > @@ -258,17 +258,17 @@
> >  #     blocked.  Present and non-empty when migration is blocked.
> >  #     (since 6.0)
> >  #
> > -# @dirty-limit-throttle-time-per-round: Maximum throttle time (in
> microseconds) of virtual
> > -#                                       CPUs each dirty ring full
> round, which shows how
> > -#                                       MigrationCapability dirty-limit
> affects the guest
> > -#                                       during live migration. (since
> 8.1)
> > -#
> > -# @dirty-limit-ring-full-time: Estimated average dirty ring full time
> (in microseconds)
> > -#                              each dirty ring full round, note that
> the value equals
> > -#                              dirty ring memory size divided by
> average dirty page rate
> > -#                              of virtual CPU, which can be used to
> observe the average
> > -#                              memory load of virtual CPU indirectly.
> Note that zero
> > -#                              means guest doesn't dirty memory (since
> 8.1)
> > +# @dirty-limit-throttle-time-per-round: Maximum throttle time
> > +#     (in microseconds) of virtual CPUs each dirty ring full round,
> > +#     which shows how MigrationCapability dirty-limit affects the
> > +#     guest during live migration.  (Since 8.1)
> > +#
> > +# @dirty-limit-ring-full-time: Estimated average dirty ring full
> > +#     time (in microseconds) for each dirty ring full round. The
>
> Two spaces between sentences for consistency.
>
> > +#     value equals the dirty ring memory size divided by the average
> > +#     dirty page rate of the virtual CPU, which can be used to
> > +#     observe the average memory load of the virtual CPU indirectly.
> > +#     Note that zero means guest doesn't dirty memory.  (Since 8.1)
> >  #
> >  # Since: 0.14
> >  ##
> > @@ -519,15 +519,14 @@
> >  #     are present.  'return-path' capability must be enabled to use
> >  #     it.  (since 8.1)
> >  #
> > -# @dirty-limit: If enabled, migration will use the dirty-limit algo to
> > -#               throttle down guest instead of auto-converge algo.
> > -#               Throttle algo only works when vCPU's dirtyrate greater
> > -#               than 'vcpu-dirty-limit', read processes in guest os
> > -#               aren't penalized any more, so this algo can improve
> > -#               performance of vCPU during live migration. This is an
> > -#               optional performance feature and should not affect the
> > -#               correctness of the existing auto-converge algo.
> > -#               (since 8.1)
> > +# @dirty-limit: If enabled, migration will use the dirty-limit
> > +#     algorithim to throttle down guest instead of auto-converge
> > +#     algorithim. Throttle algorithim only works when vCPU's dirtyrate
> > +#     greater than 'vcpu-dirty-limit', read processes in guest os
> > +#     aren't penalized any more, so this algorithim can improve
> > +#     performance of vCPU during live migration. This is an optional
> > +#     performance feature and should not affect the correctness of the
> > +#     existing auto-converge algorithim.  (Since 8.1)
> >  #
> >  # Features:
> >  #
> > @@ -822,17 +821,17 @@
> >  #     Nodes are mapped to their block device name if there is one, and
> >  #     to their node name otherwise.  (Since 5.2)
> >  #
> > -# @x-vcpu-dirty-limit-period: Periodic time (in milliseconds) of dirty
> limit during
> > -#                             live migration. Should be in the range 1
> to 1000ms,
> > -#                             defaults to 1000ms. (Since 8.1)
> > +# @x-vcpu-dirty-limit-period: Periodic time (in milliseconds) of dirty
> > +#     limit during live migration. Should be in the range 1 to 1000ms.
> > +#     Defaults to 1000ms.  (Since 8.1)
>
> Likewise.
>
> >  #
> >  # @vcpu-dirty-limit: Dirtyrate limit (MB/s) during live migration.
> > -#                    Defaults to 1. (Since 8.1)
> > +#     Defaults to 1.  (Since 8.1)
> >  #
> >  # Features:
> >  #
> >  # @unstable: Members @x-checkpoint-delay and @x-vcpu-dirty-limit-period
> > -#            are experimental.
> > +#     are experimental.
> >  #
> >  # Since: 2.4
> >  ##
> > @@ -988,17 +987,17 @@
> >  #     Nodes are mapped to their block device name if there is one, and
> >  #     to their node name otherwise.  (Since 5.2)
> >  #
> > -# @x-vcpu-dirty-limit-period: Periodic time (in milliseconds) of dirty
> limit during
> > -#                             live migration. Should be in the range 1
> to 1000ms,
> > -#                             defaults to 1000ms. (Since 8.1)
> > +# @x-vcpu-dirty-limit-period: Periodic time (in milliseconds) of dirty
> > +#     limit during live migration. Should be in the range 1 to 1000ms.
> > +#     Defaults to 1000ms.  (Since 8.1)
>
> Likewise.
>
> >  #
> >  # @vcpu-dirty-limit: Dirtyrate limit (MB/s) during live migration.
> > -#                    Defaults to 1. (Since 8.1)
> > +#     Defaults to 1.  (Since 8.1)
> >  #
> >  # Features:
> >  #
> >  # @unstable: Members @x-checkpoint-delay and @x-vcpu-dirty-limit-period
> > -#            are experimental.
> > +#     are experimental.
> >  #
> >  # TODO: either fuse back into MigrationParameters, or make
> >  #     MigrationParameters members mandatory
> > @@ -1191,17 +1190,17 @@
> >  #     Nodes are mapped to their block device name if there is one, and
> >  #     to their node name otherwise.  (Since 5.2)
> >  #
> > -# @x-vcpu-dirty-limit-period: Periodic time (in milliseconds) of dirty
> limit during
> > -#                             live migration. Should be in the range 1
> to 1000ms,
> > -#                             defaults to 1000ms. (Since 8.1)
> > +# @x-vcpu-dirty-limit-period: Periodic time (in milliseconds) of dirty
> > +#     limit during live migration. Should be in the range 1 to 1000ms.
> > +#     Defaults to 1000ms.  (Since 8.1)
>
> Likewise.
>
> >  #
> >  # @vcpu-dirty-limit: Dirtyrate limit (MB/s) during live migration.
> > -#                    Defaults to 1. (Since 8.1)
> > +#     Defaults to 1.  (Since 8.1)
> >  #
> >  # Features:
> >  #
> >  # @unstable: Members @x-checkpoint-delay and @x-vcpu-dirty-limit-period
> > -#            are experimental.
> > +#     are experimental.
> >  #
> >  # Since: 2.4
> >  ##
>
> No need for another respin, I'm happy to tidy up spacing in my tree.
>


-- 
Best regards

[-- Attachment #2: Type: text/html, Size: 9786 bytes --]

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH QEMU v3 1/3] qapi: Reformat the dirty-limit migration doc comments
  2023-08-02  0:46     ` Yong Huang
@ 2023-08-02  7:25       ` Markus Armbruster
  0 siblings, 0 replies; 9+ messages in thread
From: Markus Armbruster @ 2023-08-02  7:25 UTC (permalink / raw)
  To: Yong Huang; +Cc: qemu-devel, Eric Blake, Juan Quintela, Peter Xu, Leonardo Bras

Yong Huang <yong.huang@smartx.com> writes:

> On Tue, Aug 1, 2023 at 8:34 PM Markus Armbruster <armbru@redhat.com> wrote:
>
>> ~hyman <hyman@git.sr.ht> writes:
>>
>> > From: Hyman Huang(黄勇) <yong.huang@smartx.com>
>> >
>> > Reformat the dirty-limit migration doc comments to conform
>> > to current conventions as commit a937b6aa739 (qapi: Reformat
>> > doc comments to conform to current conventions).
>> >
>> > Signed-off-by: Markus Armbruster <armbru@redhat.com>
>>
>> Unexpected S-o-b.  Accident?
>>
> Yes, I'll fix that

With whitespace tidied up:
Reviewed-by: Markus Armbruster <armbru@redhat.com>

[...]



^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH QEMU v3 3/3] MAINTAINERS: Add section "Migration dirty limit and dirty page rate"
  2023-07-26 18:10 ` [PATCH QEMU v3 3/3] MAINTAINERS: Add section "Migration dirty limit and dirty page rate" ~hyman
@ 2023-08-02  7:27   ` Markus Armbruster
  0 siblings, 0 replies; 9+ messages in thread
From: Markus Armbruster @ 2023-08-02  7:27 UTC (permalink / raw)
  To: ~hyman
  Cc: qemu-devel, ~hyman, Eric Blake, Juan Quintela, Peter Xu,
	Leonardo Bras

~hyman <hyman@git.sr.ht> writes:

> From: Hyman Huang(黄勇) <yong.huang@smartx.com>
>
> I've built interests in dirty limit and dirty page rate
> features and also have been working on projects related
> to this subsystem.
>
> Add a section to the MAINTAINERS file for migration
> dirty limit and dirty page rate.
>
> Add myself as a maintainer for this subsystem so that I
> can help to improve the dirty limit algorithm and review
> the patches about dirty page rate.
>
> Signed-off-by: Hyman Huang(黄勇) <yong.huang@smartx.com>
> Signed-off-by: Markus Armbruster <armbru@redhat.com>
> Acked-by: Peter Xu <peterx@redhat.com>

Acked-by: Markus Armbruster <armbru@redhat.com>



^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH QEMU v3 2/3] qapi: Craft the dirty-limit capability comment
  2023-07-28 15:10 ` [PATCH QEMU v3 2/3] qapi: Craft the dirty-limit capability comment ~hyman
@ 2023-08-02  7:28   ` Markus Armbruster
  0 siblings, 0 replies; 9+ messages in thread
From: Markus Armbruster @ 2023-08-02  7:28 UTC (permalink / raw)
  To: ~hyman
  Cc: qemu-devel, ~hyman, Eric Blake, Juan Quintela, Peter Xu,
	Leonardo Bras

~hyman <hyman@git.sr.ht> writes:

> From: Hyman Huang(黄勇) <yong.huang@smartx.com>
>
> Signed-off-by: Markus Armbruster <armbru@redhat.com>
> Signed-off-by: Hyman Huang(黄勇) <yong.huang@smartx.com>
> ---
>  qapi/migration.json | 13 +++++--------
>  1 file changed, 5 insertions(+), 8 deletions(-)
>
> diff --git a/qapi/migration.json b/qapi/migration.json
> index a74ade4d72..62ab151da2 100644
> --- a/qapi/migration.json
> +++ b/qapi/migration.json
> @@ -519,14 +519,11 @@
>  #     are present.  'return-path' capability must be enabled to use
>  #     it.  (since 8.1)
>  #
> -# @dirty-limit: If enabled, migration will use the dirty-limit
> -#     algorithim to throttle down guest instead of auto-converge
> -#     algorithim. Throttle algorithim only works when vCPU's dirtyrate
> -#     greater than 'vcpu-dirty-limit', read processes in guest os
> -#     aren't penalized any more, so this algorithim can improve
> -#     performance of vCPU during live migration. This is an optional
> -#     performance feature and should not affect the correctness of the
> -#     existing auto-converge algorithim.  (Since 8.1)
> +# @dirty-limit: If enabled, migration will throttle vCPUs as needed to
> +#     keep their dirty page rate within @vcpu-dirty-limit.  This can
> +#     improve responsiveness of large guests during live migration,
> +#     and can result in more stable read performance.  Requires KVM
> +#     with accelerator property "dirty-ring-size" set.  (Since 8.1)
>  #
>  # Features:
>  #

Reviewed-by: Markus Armbruster <armbru@redhat.com>



^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2023-08-02  7:28 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-07-30 16:48 [PATCH QEMU v3 0/3] migration: craft the doc comments ~hyman
2023-07-26 18:10 ` [PATCH QEMU v3 3/3] MAINTAINERS: Add section "Migration dirty limit and dirty page rate" ~hyman
2023-08-02  7:27   ` Markus Armbruster
2023-07-28  9:38 ` [PATCH QEMU v3 1/3] qapi: Reformat the dirty-limit migration doc comments ~hyman
2023-08-01 12:34   ` Markus Armbruster
2023-08-02  0:46     ` Yong Huang
2023-08-02  7:25       ` Markus Armbruster
2023-07-28 15:10 ` [PATCH QEMU v3 2/3] qapi: Craft the dirty-limit capability comment ~hyman
2023-08-02  7:28   ` Markus Armbruster

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).